Experiments with lstm
In [2]:
from utils.paths import TMP_DIR
from utils.paths import ML_FLOW_DIR
from autoregression.utils_ar import prepare_direct_lstm_data,prepare_recursive_lstm_data, run_direct_lstm_experiment, run_recursive_lstm_experiment
from evaluation import evalresu as er
In [3]:
import joblib
n_past_values=100
n_future_values=20
input_shape=(n_past_values,1)
Data preparation
In [4]:
data = joblib.load(TMP_DIR / 'output1_smoothed_RTS.pkl')
In [5]:
X_train_dir, y_train_dir,X_val_dir,y_val_dir,X_test_dir,y_test_dir = prepare_direct_lstm_data(data,n_past_values,n_future_values)
X_train_rec, y_train_rec,X_val_rec,y_val_rec,X_test_rec,y_test_rec = prepare_recursive_lstm_data(data,n_past_values)
Direct Multioutput Model
In [6]:
from autoregression.models.DirMultiLSTM import build_direct_lstm_model_simple,build_advanced_direct_lstm, build_direct_model_avg
Direct Simple 128 units
In [7]:
run_direct_lstm_experiment(
build_direct_lstm_model_simple,
'simple',
'direct_simple',
X_train_dir,
y_train_dir,
X_val_dir,
y_val_dir,
X_test_dir,
y_test_dir,
20,epochs=100,lstm_units=128)
Model: "Direct_LSTM_Model_simple"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_layer (LSTM) │ (None, 128) │ 66,560 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ output_layer (Dense) │ (None, 20) │ 2,580 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 69,140 (270.08 KB)
Trainable params: 69,140 (270.08 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 34ms/step - loss: 0.0228 - mae: 0.0800 - mse: 0.0228 Epoch 1: val_loss improved from inf to 0.00304, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 41ms/step - loss: 0.0228 - mae: 0.0799 - mse: 0.0228 - val_loss: 0.0030 - val_mae: 0.0472 - val_mse: 0.0030 - learning_rate: 0.0010 Epoch 2/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 34ms/step - loss: 0.0013 - mae: 0.0283 - mse: 0.0013 Epoch 2: val_loss improved from 0.00304 to 0.00123, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 40ms/step - loss: 0.0013 - mae: 0.0283 - mse: 0.0013 - val_loss: 0.0012 - val_mae: 0.0281 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 3/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 0.0012 - mae: 0.0269 - mse: 0.0012 Epoch 3: val_loss did not improve from 0.00123 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 0.0012 - mae: 0.0269 - mse: 0.0012 - val_loss: 0.0039 - val_mae: 0.0552 - val_mse: 0.0039 - learning_rate: 0.0010 Epoch 4/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 0.0012 - mae: 0.0271 - mse: 0.0012 Epoch 4: val_loss improved from 0.00123 to 0.00105, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 43ms/step - loss: 0.0012 - mae: 0.0271 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0256 - val_mse: 0.0010 - learning_rate: 0.0010 Epoch 5/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 0.0011 - mae: 0.0264 - mse: 0.0011 Epoch 5: val_loss did not improve from 0.00105 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 0.0011 - mae: 0.0264 - mse: 0.0011 - val_loss: 0.0019 - val_mae: 0.0353 - val_mse: 0.0019 - learning_rate: 0.0010 Epoch 6/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 0.0010 - mae: 0.0254 - mse: 0.0010 Epoch 6: val_loss did not improve from 0.00105 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 0.0010 - mae: 0.0254 - mse: 0.0010 - val_loss: 0.0011 - val_mae: 0.0259 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 7/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 Epoch 7: val_loss improved from 0.00105 to 0.00103, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 - val_loss: 0.0010 - val_mae: 0.0254 - val_mse: 0.0010 - learning_rate: 0.0010 Epoch 8/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 39ms/step - loss: 0.0010 - mae: 0.0247 - mse: 0.0010 Epoch 8: val_loss did not improve from 0.00103 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 0.0010 - mae: 0.0247 - mse: 0.0010 - val_loss: 0.0013 - val_mae: 0.0291 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 9/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 9.7326e-04 - mae: 0.0243 - mse: 9.7326e-04 Epoch 9: val_loss did not improve from 0.00103 Epoch 9: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 9.7319e-04 - mae: 0.0243 - mse: 9.7319e-04 - val_loss: 0.0013 - val_mae: 0.0291 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 10/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 9.3795e-04 - mae: 0.0238 - mse: 9.3795e-04 Epoch 10: val_loss did not improve from 0.00103 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 9.3791e-04 - mae: 0.0238 - mse: 9.3791e-04 - val_loss: 0.0011 - val_mae: 0.0258 - val_mse: 0.0011 - learning_rate: 5.0000e-04 Epoch 11/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 9.2833e-04 - mae: 0.0236 - mse: 9.2833e-04 Epoch 11: val_loss improved from 0.00103 to 0.00099, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 9.2831e-04 - mae: 0.0236 - mse: 9.2831e-04 - val_loss: 9.9498e-04 - val_mae: 0.0248 - val_mse: 9.9498e-04 - learning_rate: 5.0000e-04 Epoch 12/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 9.1479e-04 - mae: 0.0235 - mse: 9.1479e-04 Epoch 12: val_loss did not improve from 0.00099 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 9.1479e-04 - mae: 0.0235 - mse: 9.1479e-04 - val_loss: 0.0012 - val_mae: 0.0272 - val_mse: 0.0012 - learning_rate: 5.0000e-04 Epoch 13/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 34ms/step - loss: 9.1246e-04 - mae: 0.0235 - mse: 9.1246e-04 Epoch 13: val_loss improved from 0.00099 to 0.00093, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 40ms/step - loss: 9.1246e-04 - mae: 0.0235 - mse: 9.1246e-04 - val_loss: 9.2565e-04 - val_mae: 0.0238 - val_mse: 9.2565e-04 - learning_rate: 5.0000e-04 Epoch 14/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 9.1165e-04 - mae: 0.0234 - mse: 9.1165e-04 Epoch 14: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 9.1165e-04 - mae: 0.0234 - mse: 9.1165e-04 - val_loss: 0.0018 - val_mae: 0.0354 - val_mse: 0.0018 - learning_rate: 5.0000e-04 Epoch 15/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 9.1114e-04 - mae: 0.0234 - mse: 9.1114e-04 Epoch 15: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 9.1112e-04 - mae: 0.0234 - mse: 9.1112e-04 - val_loss: 9.4264e-04 - val_mae: 0.0241 - val_mse: 9.4264e-04 - learning_rate: 5.0000e-04 Epoch 16/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 9.0581e-04 - mae: 0.0233 - mse: 9.0581e-04 Epoch 16: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 9.0579e-04 - mae: 0.0233 - mse: 9.0579e-04 - val_loss: 0.0010 - val_mae: 0.0256 - val_mse: 0.0010 - learning_rate: 5.0000e-04 Epoch 17/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 9.1874e-04 - mae: 0.0235 - mse: 9.1874e-04 Epoch 17: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 9.1869e-04 - mae: 0.0235 - mse: 9.1869e-04 - val_loss: 9.2577e-04 - val_mae: 0.0240 - val_mse: 9.2577e-04 - learning_rate: 5.0000e-04 Epoch 18/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 8.9667e-04 - mae: 0.0232 - mse: 8.9667e-04 Epoch 18: val_loss did not improve from 0.00093 Epoch 18: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 40ms/step - loss: 8.9666e-04 - mae: 0.0232 - mse: 8.9666e-04 - val_loss: 0.0011 - val_mae: 0.0253 - val_mse: 0.0011 - learning_rate: 5.0000e-04 Epoch 19/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 8.8657e-04 - mae: 0.0230 - mse: 8.8657e-04 Epoch 19: val_loss improved from 0.00093 to 0.00085, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 8.8655e-04 - mae: 0.0230 - mse: 8.8655e-04 - val_loss: 8.4657e-04 - val_mae: 0.0225 - val_mse: 8.4657e-04 - learning_rate: 2.5000e-04 Epoch 20/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 8.6188e-04 - mae: 0.0228 - mse: 8.6188e-04 Epoch 20: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 8.6192e-04 - mae: 0.0228 - mse: 8.6192e-04 - val_loss: 8.4787e-04 - val_mae: 0.0227 - val_mse: 8.4787e-04 - learning_rate: 2.5000e-04 Epoch 21/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 39ms/step - loss: 8.7978e-04 - mae: 0.0230 - mse: 8.7978e-04 Epoch 21: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 45ms/step - loss: 8.7975e-04 - mae: 0.0230 - mse: 8.7975e-04 - val_loss: 0.0012 - val_mae: 0.0270 - val_mse: 0.0012 - learning_rate: 2.5000e-04 Epoch 22/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 8.8966e-04 - mae: 0.0231 - mse: 8.8966e-04 Epoch 22: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 8.8963e-04 - mae: 0.0231 - mse: 8.8963e-04 - val_loss: 9.1687e-04 - val_mae: 0.0236 - val_mse: 9.1687e-04 - learning_rate: 2.5000e-04 Epoch 23/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 35ms/step - loss: 8.6601e-04 - mae: 0.0228 - mse: 8.6601e-04 Epoch 23: val_loss did not improve from 0.00085 Epoch 23: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 8.6603e-04 - mae: 0.0228 - mse: 8.6603e-04 - val_loss: 8.8011e-04 - val_mae: 0.0232 - val_mse: 8.8011e-04 - learning_rate: 2.5000e-04 Epoch 24/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 8.5278e-04 - mae: 0.0226 - mse: 8.5278e-04 Epoch 24: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 8.5281e-04 - mae: 0.0226 - mse: 8.5281e-04 - val_loss: 9.8938e-04 - val_mae: 0.0247 - val_mse: 9.8938e-04 - learning_rate: 1.2500e-04 Epoch 25/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 8.5783e-04 - mae: 0.0226 - mse: 8.5783e-04 Epoch 25: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 8.5782e-04 - mae: 0.0226 - mse: 8.5782e-04 - val_loss: 8.5126e-04 - val_mae: 0.0227 - val_mse: 8.5126e-04 - learning_rate: 1.2500e-04 Epoch 26/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step - loss: 8.7253e-04 - mae: 0.0229 - mse: 8.7253e-04 Epoch 26: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 8.7250e-04 - mae: 0.0229 - mse: 8.7250e-04 - val_loss: 8.7333e-04 - val_mae: 0.0229 - val_mse: 8.7333e-04 - learning_rate: 1.2500e-04 Epoch 27/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 8.4613e-04 - mae: 0.0225 - mse: 8.4613e-04 Epoch 27: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 43ms/step - loss: 8.4617e-04 - mae: 0.0225 - mse: 8.4617e-04 - val_loss: 8.8684e-04 - val_mae: 0.0232 - val_mse: 8.8684e-04 - learning_rate: 1.2500e-04 Epoch 28/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 8.5947e-04 - mae: 0.0227 - mse: 8.5947e-04 Epoch 28: val_loss did not improve from 0.00085 Epoch 28: ReduceLROnPlateau reducing learning rate to 6.25000029685907e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 44ms/step - loss: 8.5946e-04 - mae: 0.0227 - mse: 8.5946e-04 - val_loss: 9.4035e-04 - val_mae: 0.0239 - val_mse: 9.4035e-04 - learning_rate: 1.2500e-04 Epoch 29/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step - loss: 8.3414e-04 - mae: 0.0223 - mse: 8.3414e-04 Epoch 29: val_loss did not improve from 0.00085 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 8.3416e-04 - mae: 0.0223 - mse: 8.3416e-04 - val_loss: 8.9549e-04 - val_mae: 0.0233 - val_mse: 8.9549e-04 - learning_rate: 6.2500e-05 Epoch 29: early stopping Restoring model weights from the end of the best epoch: 19.
169/169 ━━━━━━━━━━━━━━━━━━━━ 3s 19ms/step Metric Value 0 MSE 0.000967 1 MAE 0.024419 2 RMSE 0.031092 3 R2 0.614404 4 MAPE 4.413228 5 SMAPE 4.361241 6 SAE 131.494786
Metric Value 0 MSE 0.001596 1 MAE 0.037553 2 RMSE 0.039956 3 R2 -7.775485 4 MAPE 6.081976 5 SMAPE 5.877845 6 SAE 0.751066
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step
Registered model 'Direct_LSTM_Model_simple' already exists. Creating a new version of this model... Created version '4' of model 'Direct_LSTM_Model_simple'.
Direct Simple
In [10]:
run_direct_lstm_experiment(
build_direct_lstm_model_simple,
'simple',
'direct_simple',
X_train_dir,
y_train_dir,
X_val_dir,
y_val_dir,
X_test_dir,
y_test_dir,
20,epochs=100,lstm_units=64)
Model: "Direct_LSTM_Model_simple"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_layer (LSTM) │ (None, 64) │ 16,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ output_layer (Dense) │ (None, 20) │ 1,300 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 18,196 (71.08 KB)
Trainable params: 18,196 (71.08 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 42ms/step - loss: 0.0253 - mae: 0.0849 - mse: 0.0253 Epoch 1: val_loss improved from inf to 0.00138, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 26s 46ms/step - loss: 0.0253 - mae: 0.0848 - mse: 0.0253 - val_loss: 0.0014 - val_mae: 0.0300 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 2/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 34ms/step - loss: 0.0012 - mae: 0.0278 - mse: 0.0012 Epoch 2: val_loss did not improve from 0.00138 516/516 ━━━━━━━━━━━━━━━━━━━━ 20s 39ms/step - loss: 0.0012 - mae: 0.0278 - mse: 0.0012 - val_loss: 0.0018 - val_mae: 0.0354 - val_mse: 0.0018 - learning_rate: 0.0010 Epoch 3/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 0.0011 - mae: 0.0268 - mse: 0.0011 Epoch 3: val_loss did not improve from 0.00138 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 0.0011 - mae: 0.0268 - mse: 0.0011 - val_loss: 0.0014 - val_mae: 0.0301 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 4/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 0.0011 - mae: 0.0263 - mse: 0.0011 Epoch 4: val_loss improved from 0.00138 to 0.00130, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 42ms/step - loss: 0.0011 - mae: 0.0263 - mse: 0.0011 - val_loss: 0.0013 - val_mae: 0.0287 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 5/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step - loss: 0.0011 - mae: 0.0258 - mse: 0.0011 Epoch 5: val_loss improved from 0.00130 to 0.00118, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 0.0011 - mae: 0.0258 - mse: 0.0011 - val_loss: 0.0012 - val_mae: 0.0271 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 6/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 Epoch 6: val_loss did not improve from 0.00118 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 - val_loss: 0.0018 - val_mae: 0.0348 - val_mse: 0.0018 - learning_rate: 0.0010 Epoch 7/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 Epoch 7: val_loss improved from 0.00118 to 0.00092, saving model to models/saved/Direct_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 21s 41ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 - val_loss: 9.2373e-04 - val_mae: 0.0239 - val_mse: 9.2373e-04 - learning_rate: 0.0010 Epoch 8/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 39ms/step - loss: 9.8846e-04 - mae: 0.0245 - mse: 9.8846e-04 Epoch 8: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 9.8839e-04 - mae: 0.0245 - mse: 9.8839e-04 - val_loss: 0.0011 - val_mae: 0.0256 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 9/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 9.5551e-04 - mae: 0.0241 - mse: 9.5551e-04 Epoch 9: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 43ms/step - loss: 9.5553e-04 - mae: 0.0241 - mse: 9.5553e-04 - val_loss: 0.0012 - val_mae: 0.0268 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 10/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 43ms/step - loss: 9.5366e-04 - mae: 0.0240 - mse: 9.5366e-04 Epoch 10: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 24s 47ms/step - loss: 9.5364e-04 - mae: 0.0240 - mse: 9.5364e-04 - val_loss: 0.0011 - val_mae: 0.0257 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 11/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 41ms/step - loss: 9.5961e-04 - mae: 0.0240 - mse: 9.5961e-04 Epoch 11: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 45ms/step - loss: 9.5948e-04 - mae: 0.0240 - mse: 9.5948e-04 - val_loss: 0.0012 - val_mae: 0.0270 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 12/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step - loss: 9.5942e-04 - mae: 0.0240 - mse: 9.5942e-04 Epoch 12: val_loss did not improve from 0.00092 Epoch 12: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 9.5935e-04 - mae: 0.0240 - mse: 9.5935e-04 - val_loss: 0.0010 - val_mae: 0.0250 - val_mse: 0.0010 - learning_rate: 0.0010 Epoch 13/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 39ms/step - loss: 9.0645e-04 - mae: 0.0233 - mse: 9.0645e-04 Epoch 13: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 9.0645e-04 - mae: 0.0233 - mse: 9.0645e-04 - val_loss: 9.6225e-04 - val_mae: 0.0242 - val_mse: 9.6225e-04 - learning_rate: 5.0000e-04 Epoch 14/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 44ms/step - loss: 9.1934e-04 - mae: 0.0235 - mse: 9.1934e-04 Epoch 14: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 25s 49ms/step - loss: 9.1932e-04 - mae: 0.0235 - mse: 9.1932e-04 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - learning_rate: 5.0000e-04 Epoch 15/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 43ms/step - loss: 9.0153e-04 - mae: 0.0233 - mse: 9.0153e-04 Epoch 15: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 24s 47ms/step - loss: 9.0157e-04 - mae: 0.0233 - mse: 9.0157e-04 - val_loss: 9.3496e-04 - val_mae: 0.0239 - val_mse: 9.3496e-04 - learning_rate: 5.0000e-04 Epoch 16/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step - loss: 9.1746e-04 - mae: 0.0235 - mse: 9.1746e-04 Epoch 16: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 23s 44ms/step - loss: 9.1745e-04 - mae: 0.0235 - mse: 9.1745e-04 - val_loss: 0.0012 - val_mae: 0.0267 - val_mse: 0.0012 - learning_rate: 5.0000e-04 Epoch 17/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 39ms/step - loss: 8.9456e-04 - mae: 0.0232 - mse: 8.9456e-04 Epoch 17: val_loss did not improve from 0.00092 Epoch 17: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 22s 43ms/step - loss: 8.9456e-04 - mae: 0.0232 - mse: 8.9456e-04 - val_loss: 9.3021e-04 - val_mae: 0.0239 - val_mse: 9.3021e-04 - learning_rate: 5.0000e-04 Epoch 17: early stopping Restoring model weights from the end of the best epoch: 7.
169/169 ━━━━━━━━━━━━━━━━━━━━ 3s 15ms/step Metric Value 0 MSE 0.001032 1 MAE 0.025554 2 RMSE 0.032128 3 R2 0.588292 4 MAPE 4.636100 5 SMAPE 4.571842 6 SAE 137.609697
Metric Value 0 MSE 0.000688 1 MAE 0.022493 2 RMSE 0.026239 3 R2 -2.784451 4 MAPE 3.661434 5 SMAPE 3.571581 6 SAE 0.449864
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 48ms/step
Registered model 'Direct_LSTM_Model_simple' already exists. Creating a new version of this model... Created version '3' of model 'Direct_LSTM_Model_simple'.
Direct Average 128 units
In [8]:
run_direct_lstm_experiment(
build_direct_model_avg,
'average',
'direct_average',
X_train_dir,
y_train_dir,
X_val_dir,
y_val_dir,
X_test_dir,
y_test_dir,
20,epochs=100,lstm_units=128)
Model: "Avarege_Direct_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional (Bidirectional) │ (None, 100, 512) │ 528,384 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout (Dropout) │ (None, 100, 512) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_1 (Bidirectional) │ (None, 256) │ 656,384 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_1 (Dropout) │ (None, 256) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense (Dense) │ (None, 128) │ 32,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_2 (Dropout) │ (None, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_1 (Dense) │ (None, 20) │ 2,580 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 1,220,244 (4.65 MB)
Trainable params: 1,220,244 (4.65 MB)
Non-trainable params: 0 (0.00 B)
Epoch 1/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 302ms/step - loss: 0.0172 - mae: 0.0842 - mse: 0.0172 Epoch 1: val_loss improved from inf to 0.00206, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 178s 333ms/step - loss: 0.0172 - mae: 0.0841 - mse: 0.0172 - val_loss: 0.0021 - val_mae: 0.0379 - val_mse: 0.0021 - learning_rate: 0.0010 Epoch 2/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 315ms/step - loss: 0.0023 - mae: 0.0378 - mse: 0.0023 Epoch 2: val_loss improved from 0.00206 to 0.00159, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 179s 347ms/step - loss: 0.0023 - mae: 0.0378 - mse: 0.0023 - val_loss: 0.0016 - val_mae: 0.0325 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 3/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 312ms/step - loss: 0.0018 - mae: 0.0334 - mse: 0.0018 Epoch 3: val_loss improved from 0.00159 to 0.00097, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 176s 341ms/step - loss: 0.0018 - mae: 0.0334 - mse: 0.0018 - val_loss: 9.7181e-04 - val_mae: 0.0245 - val_mse: 9.7181e-04 - learning_rate: 0.0010 Epoch 4/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 301ms/step - loss: 0.0016 - mae: 0.0311 - mse: 0.0016 Epoch 4: val_loss improved from 0.00097 to 0.00096, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 170s 329ms/step - loss: 0.0016 - mae: 0.0311 - mse: 0.0016 - val_loss: 9.5522e-04 - val_mae: 0.0243 - val_mse: 9.5522e-04 - learning_rate: 0.0010 Epoch 5/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 308ms/step - loss: 0.0014 - mae: 0.0292 - mse: 0.0014 Epoch 5: val_loss improved from 0.00096 to 0.00092, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 174s 336ms/step - loss: 0.0014 - mae: 0.0292 - mse: 0.0014 - val_loss: 9.1629e-04 - val_mae: 0.0237 - val_mse: 9.1629e-04 - learning_rate: 0.0010 Epoch 6/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 312ms/step - loss: 0.0012 - mae: 0.0276 - mse: 0.0012 Epoch 6: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 176s 341ms/step - loss: 0.0012 - mae: 0.0276 - mse: 0.0012 - val_loss: 0.0011 - val_mae: 0.0257 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 7/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 314ms/step - loss: 0.0012 - mae: 0.0268 - mse: 0.0012 Epoch 7: val_loss did not improve from 0.00092 516/516 ━━━━━━━━━━━━━━━━━━━━ 177s 343ms/step - loss: 0.0012 - mae: 0.0268 - mse: 0.0012 - val_loss: 0.0012 - val_mae: 0.0270 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 8/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 309ms/step - loss: 0.0012 - mae: 0.0267 - mse: 0.0012 Epoch 8: val_loss did not improve from 0.00092 Epoch 8: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 175s 339ms/step - loss: 0.0012 - mae: 0.0267 - mse: 0.0012 - val_loss: 9.2764e-04 - val_mae: 0.0238 - val_mse: 9.2764e-04 - learning_rate: 0.0010 Epoch 9/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 326ms/step - loss: 0.0011 - mae: 0.0257 - mse: 0.0011 Epoch 9: val_loss improved from 0.00092 to 0.00086, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 185s 358ms/step - loss: 0.0011 - mae: 0.0257 - mse: 0.0011 - val_loss: 8.6355e-04 - val_mae: 0.0229 - val_mse: 8.6355e-04 - learning_rate: 5.0000e-04 Epoch 10/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 323ms/step - loss: 0.0010 - mae: 0.0252 - mse: 0.0010 Epoch 10: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 184s 356ms/step - loss: 0.0010 - mae: 0.0252 - mse: 0.0010 - val_loss: 0.0011 - val_mae: 0.0267 - val_mse: 0.0011 - learning_rate: 5.0000e-04 Epoch 11/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 337ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 Epoch 11: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 189s 366ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 - val_loss: 0.0010 - val_mae: 0.0250 - val_mse: 0.0010 - learning_rate: 5.0000e-04 Epoch 12/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 306ms/step - loss: 0.0010 - mae: 0.0252 - mse: 0.0010 Epoch 12: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 175s 340ms/step - loss: 0.0010 - mae: 0.0252 - mse: 0.0010 - val_loss: 9.6057e-04 - val_mae: 0.0242 - val_mse: 9.6057e-04 - learning_rate: 5.0000e-04 Epoch 13/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 330ms/step - loss: 9.9895e-04 - mae: 0.0247 - mse: 9.9895e-04 Epoch 13: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 188s 364ms/step - loss: 9.9897e-04 - mae: 0.0247 - mse: 9.9897e-04 - val_loss: 8.7775e-04 - val_mae: 0.0232 - val_mse: 8.7775e-04 - learning_rate: 5.0000e-04 Epoch 14/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 334ms/step - loss: 9.8306e-04 - mae: 0.0245 - mse: 9.8306e-04 Epoch 14: val_loss did not improve from 0.00086 Epoch 14: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 187s 363ms/step - loss: 9.8307e-04 - mae: 0.0245 - mse: 9.8307e-04 - val_loss: 0.0010 - val_mae: 0.0247 - val_mse: 0.0010 - learning_rate: 5.0000e-04 Epoch 15/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 325ms/step - loss: 9.7247e-04 - mae: 0.0243 - mse: 9.7247e-04 Epoch 15: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 184s 357ms/step - loss: 9.7244e-04 - mae: 0.0243 - mse: 9.7244e-04 - val_loss: 9.0373e-04 - val_mae: 0.0234 - val_mse: 9.0373e-04 - learning_rate: 2.5000e-04 Epoch 16/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 319ms/step - loss: 9.4562e-04 - mae: 0.0240 - mse: 9.4562e-04 Epoch 16: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 180s 349ms/step - loss: 9.4562e-04 - mae: 0.0240 - mse: 9.4562e-04 - val_loss: 8.9370e-04 - val_mae: 0.0233 - val_mse: 8.9370e-04 - learning_rate: 2.5000e-04 Epoch 17/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 318ms/step - loss: 9.3340e-04 - mae: 0.0238 - mse: 9.3340e-04 Epoch 17: val_loss improved from 0.00086 to 0.00084, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 180s 348ms/step - loss: 9.3341e-04 - mae: 0.0238 - mse: 9.3341e-04 - val_loss: 8.4475e-04 - val_mae: 0.0226 - val_mse: 8.4475e-04 - learning_rate: 2.5000e-04 Epoch 18/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 313ms/step - loss: 9.4470e-04 - mae: 0.0239 - mse: 9.4470e-04 Epoch 18: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 178s 345ms/step - loss: 9.4468e-04 - mae: 0.0239 - mse: 9.4468e-04 - val_loss: 9.1188e-04 - val_mae: 0.0235 - val_mse: 9.1188e-04 - learning_rate: 2.5000e-04 Epoch 19/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 322ms/step - loss: 9.3031e-04 - mae: 0.0238 - mse: 9.3031e-04 Epoch 19: val_loss did not improve from 0.00084 Epoch 19: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 182s 353ms/step - loss: 9.3031e-04 - mae: 0.0238 - mse: 9.3031e-04 - val_loss: 9.7191e-04 - val_mae: 0.0245 - val_mse: 9.7191e-04 - learning_rate: 2.5000e-04 Epoch 20/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 322ms/step - loss: 9.1866e-04 - mae: 0.0236 - mse: 9.1866e-04 Epoch 20: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 181s 351ms/step - loss: 9.1866e-04 - mae: 0.0236 - mse: 9.1866e-04 - val_loss: 8.7116e-04 - val_mae: 0.0229 - val_mse: 8.7116e-04 - learning_rate: 1.2500e-04 Epoch 21/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 323ms/step - loss: 9.2228e-04 - mae: 0.0236 - mse: 9.2228e-04 Epoch 21: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 182s 352ms/step - loss: 9.2226e-04 - mae: 0.0236 - mse: 9.2226e-04 - val_loss: 9.2194e-04 - val_mae: 0.0237 - val_mse: 9.2194e-04 - learning_rate: 1.2500e-04 Epoch 22/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 324ms/step - loss: 9.0414e-04 - mae: 0.0234 - mse: 9.0414e-04 Epoch 22: val_loss improved from 0.00084 to 0.00083, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 182s 353ms/step - loss: 9.0415e-04 - mae: 0.0234 - mse: 9.0415e-04 - val_loss: 8.3224e-04 - val_mae: 0.0224 - val_mse: 8.3224e-04 - learning_rate: 1.2500e-04 Epoch 23/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 316ms/step - loss: 9.2149e-04 - mae: 0.0236 - mse: 9.2149e-04 Epoch 23: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 179s 347ms/step - loss: 9.2146e-04 - mae: 0.0236 - mse: 9.2146e-04 - val_loss: 0.0010 - val_mae: 0.0253 - val_mse: 0.0010 - learning_rate: 1.2500e-04 Epoch 24/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 320ms/step - loss: 9.1647e-04 - mae: 0.0235 - mse: 9.1647e-04 Epoch 24: val_loss did not improve from 0.00083 Epoch 24: ReduceLROnPlateau reducing learning rate to 6.25000029685907e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 181s 351ms/step - loss: 9.1646e-04 - mae: 0.0235 - mse: 9.1646e-04 - val_loss: 0.0010 - val_mae: 0.0253 - val_mse: 0.0010 - learning_rate: 1.2500e-04 Epoch 25/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 315ms/step - loss: 8.9057e-04 - mae: 0.0232 - mse: 8.9057e-04 Epoch 25: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 178s 345ms/step - loss: 8.9058e-04 - mae: 0.0232 - mse: 8.9058e-04 - val_loss: 9.6005e-04 - val_mae: 0.0242 - val_mse: 9.6005e-04 - learning_rate: 6.2500e-05 Epoch 26/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 319ms/step - loss: 9.0432e-04 - mae: 0.0233 - mse: 9.0432e-04 Epoch 26: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 180s 349ms/step - loss: 9.0430e-04 - mae: 0.0233 - mse: 9.0430e-04 - val_loss: 8.9802e-04 - val_mae: 0.0233 - val_mse: 8.9802e-04 - learning_rate: 6.2500e-05 Epoch 27/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 327ms/step - loss: 8.8811e-04 - mae: 0.0232 - mse: 8.8811e-04 Epoch 27: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 185s 358ms/step - loss: 8.8813e-04 - mae: 0.0232 - mse: 8.8813e-04 - val_loss: 8.4593e-04 - val_mae: 0.0226 - val_mse: 8.4593e-04 - learning_rate: 6.2500e-05 Epoch 28/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 327ms/step - loss: 8.9566e-04 - mae: 0.0232 - mse: 8.9566e-04 Epoch 28: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 185s 358ms/step - loss: 8.9566e-04 - mae: 0.0232 - mse: 8.9566e-04 - val_loss: 8.8039e-04 - val_mae: 0.0230 - val_mse: 8.8039e-04 - learning_rate: 6.2500e-05 Epoch 29/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 321ms/step - loss: 8.9640e-04 - mae: 0.0233 - mse: 8.9640e-04 Epoch 29: val_loss did not improve from 0.00083 Epoch 29: ReduceLROnPlateau reducing learning rate to 3.125000148429535e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 182s 353ms/step - loss: 8.9639e-04 - mae: 0.0233 - mse: 8.9639e-04 - val_loss: 9.0083e-04 - val_mae: 0.0233 - val_mse: 9.0083e-04 - learning_rate: 6.2500e-05 Epoch 30/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 320ms/step - loss: 8.9434e-04 - mae: 0.0232 - mse: 8.9434e-04 Epoch 30: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 182s 352ms/step - loss: 8.9433e-04 - mae: 0.0232 - mse: 8.9433e-04 - val_loss: 9.4006e-04 - val_mae: 0.0239 - val_mse: 9.4006e-04 - learning_rate: 3.1250e-05 Epoch 31/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 321ms/step - loss: 8.9360e-04 - mae: 0.0232 - mse: 8.9360e-04 Epoch 31: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 182s 352ms/step - loss: 8.9359e-04 - mae: 0.0232 - mse: 8.9359e-04 - val_loss: 9.9147e-04 - val_mae: 0.0246 - val_mse: 9.9147e-04 - learning_rate: 3.1250e-05 Epoch 32/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 320ms/step - loss: 8.8345e-04 - mae: 0.0231 - mse: 8.8345e-04 Epoch 32: val_loss did not improve from 0.00083 516/516 ━━━━━━━━━━━━━━━━━━━━ 181s 350ms/step - loss: 8.8345e-04 - mae: 0.0231 - mse: 8.8345e-04 - val_loss: 8.8886e-04 - val_mae: 0.0232 - val_mse: 8.8886e-04 - learning_rate: 3.1250e-05 Epoch 32: early stopping Restoring model weights from the end of the best epoch: 22.
169/169 ━━━━━━━━━━━━━━━━━━━━ 17s 99ms/step Metric Value 0 MSE 0.000918 1 MAE 0.023757 2 RMSE 0.030304 3 R2 0.633716 4 MAPE 4.286247 5 SMAPE 4.250666 6 SAE 127.931473
Metric Value 0 MSE 0.001519 1 MAE 0.036204 2 RMSE 0.038976 3 R2 -7.350400 4 MAPE 5.868946 5 SMAPE 5.674035 6 SAE 0.724080
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 61ms/step
Registered model 'Direct_LSTM_Model_average' already exists. Creating a new version of this model... Created version '5' of model 'Direct_LSTM_Model_average'.
Direct Average 64 units
In [11]:
run_direct_lstm_experiment(
build_direct_model_avg,
'average',
'direct_average',
X_train_dir,
y_train_dir,
X_val_dir,
y_val_dir,
X_test_dir,
y_test_dir,
20,epochs=100,lstm_units=64)
Model: "Avarege_Direct_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_2 (Bidirectional) │ (None, 100, 256) │ 133,120 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_3 (Dropout) │ (None, 100, 256) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_3 (Bidirectional) │ (None, 128) │ 164,352 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_4 (Dropout) │ (None, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_2 (Dense) │ (None, 64) │ 8,256 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_5 (Dropout) │ (None, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_3 (Dense) │ (None, 20) │ 1,300 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 307,028 (1.17 MB)
Trainable params: 307,028 (1.17 MB)
Non-trainable params: 0 (0.00 B)
Epoch 1/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 151ms/step - loss: 0.0276 - mae: 0.1106 - mse: 0.0276 Epoch 1: val_loss improved from inf to 0.00131, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 94s 172ms/step - loss: 0.0276 - mae: 0.1106 - mse: 0.0276 - val_loss: 0.0013 - val_mae: 0.0291 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 2/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 147ms/step - loss: 0.0031 - mae: 0.0439 - mse: 0.0031 Epoch 2: val_loss improved from 0.00131 to 0.00101, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 85s 165ms/step - loss: 0.0031 - mae: 0.0439 - mse: 0.0031 - val_loss: 0.0010 - val_mae: 0.0252 - val_mse: 0.0010 - learning_rate: 0.0010 Epoch 3/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 134ms/step - loss: 0.0021 - mae: 0.0363 - mse: 0.0021 Epoch 3: val_loss did not improve from 0.00101 516/516 ━━━━━━━━━━━━━━━━━━━━ 79s 153ms/step - loss: 0.0021 - mae: 0.0363 - mse: 0.0021 - val_loss: 0.0013 - val_mae: 0.0287 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 4/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 131ms/step - loss: 0.0017 - mae: 0.0328 - mse: 0.0017 Epoch 4: val_loss did not improve from 0.00101 516/516 ━━━━━━━━━━━━━━━━━━━━ 78s 151ms/step - loss: 0.0017 - mae: 0.0328 - mse: 0.0017 - val_loss: 0.0016 - val_mae: 0.0331 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 5/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 140ms/step - loss: 0.0015 - mae: 0.0303 - mse: 0.0015 Epoch 5: val_loss did not improve from 0.00101 516/516 ━━━━━━━━━━━━━━━━━━━━ 83s 161ms/step - loss: 0.0015 - mae: 0.0303 - mse: 0.0015 - val_loss: 0.0011 - val_mae: 0.0256 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 6/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 144ms/step - loss: 0.0013 - mae: 0.0285 - mse: 0.0013 Epoch 6: val_loss improved from 0.00101 to 0.00100, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 84s 164ms/step - loss: 0.0013 - mae: 0.0285 - mse: 0.0013 - val_loss: 9.9543e-04 - val_mae: 0.0247 - val_mse: 9.9543e-04 - learning_rate: 0.0010 Epoch 7/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 141ms/step - loss: 0.0012 - mae: 0.0274 - mse: 0.0012 Epoch 7: val_loss did not improve from 0.00100 Epoch 7: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 84s 163ms/step - loss: 0.0012 - mae: 0.0274 - mse: 0.0012 - val_loss: 0.0011 - val_mae: 0.0268 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 8/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 150ms/step - loss: 0.0011 - mae: 0.0260 - mse: 0.0011 Epoch 8: val_loss improved from 0.00100 to 0.00090, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 87s 169ms/step - loss: 0.0011 - mae: 0.0260 - mse: 0.0011 - val_loss: 9.0299e-04 - val_mae: 0.0235 - val_mse: 9.0299e-04 - learning_rate: 5.0000e-04 Epoch 9/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 138ms/step - loss: 0.0011 - mae: 0.0256 - mse: 0.0011 Epoch 9: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 82s 159ms/step - loss: 0.0011 - mae: 0.0256 - mse: 0.0011 - val_loss: 0.0011 - val_mae: 0.0260 - val_mse: 0.0011 - learning_rate: 5.0000e-04 Epoch 10/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 147ms/step - loss: 0.0011 - mae: 0.0257 - mse: 0.0011 Epoch 10: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 86s 166ms/step - loss: 0.0011 - mae: 0.0257 - mse: 0.0011 - val_loss: 9.6023e-04 - val_mae: 0.0243 - val_mse: 9.6023e-04 - learning_rate: 5.0000e-04 Epoch 11/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 137ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 Epoch 11: val_loss improved from 0.00090 to 0.00089, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 81s 157ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 - val_loss: 8.9440e-04 - val_mae: 0.0234 - val_mse: 8.9440e-04 - learning_rate: 5.0000e-04 Epoch 12/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 157ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 Epoch 12: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 91s 176ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 - val_loss: 0.0010 - val_mae: 0.0250 - val_mse: 0.0010 - learning_rate: 5.0000e-04 Epoch 13/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 136ms/step - loss: 9.9880e-04 - mae: 0.0248 - mse: 9.9880e-04 Epoch 13: val_loss did not improve from 0.00089 Epoch 13: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 81s 157ms/step - loss: 9.9879e-04 - mae: 0.0248 - mse: 9.9879e-04 - val_loss: 0.0013 - val_mae: 0.0289 - val_mse: 0.0013 - learning_rate: 5.0000e-04 Epoch 14/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 148ms/step - loss: 9.7137e-04 - mae: 0.0243 - mse: 9.7137e-04 Epoch 14: val_loss improved from 0.00089 to 0.00084, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 87s 168ms/step - loss: 9.7134e-04 - mae: 0.0243 - mse: 9.7134e-04 - val_loss: 8.3664e-04 - val_mae: 0.0225 - val_mse: 8.3664e-04 - learning_rate: 2.5000e-04 Epoch 15/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 150ms/step - loss: 9.5867e-04 - mae: 0.0242 - mse: 9.5867e-04 Epoch 15: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 88s 170ms/step - loss: 9.5866e-04 - mae: 0.0242 - mse: 9.5866e-04 - val_loss: 8.6501e-04 - val_mae: 0.0229 - val_mse: 8.6501e-04 - learning_rate: 2.5000e-04 Epoch 16/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 140ms/step - loss: 9.4706e-04 - mae: 0.0240 - mse: 9.4706e-04 Epoch 16: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 83s 160ms/step - loss: 9.4706e-04 - mae: 0.0240 - mse: 9.4706e-04 - val_loss: 0.0010 - val_mae: 0.0251 - val_mse: 0.0010 - learning_rate: 2.5000e-04 Epoch 17/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 139ms/step - loss: 9.2596e-04 - mae: 0.0237 - mse: 9.2596e-04 Epoch 17: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 83s 160ms/step - loss: 9.2597e-04 - mae: 0.0237 - mse: 9.2597e-04 - val_loss: 8.9031e-04 - val_mae: 0.0234 - val_mse: 8.9031e-04 - learning_rate: 2.5000e-04 Epoch 18/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 143ms/step - loss: 9.2559e-04 - mae: 0.0237 - mse: 9.2559e-04 Epoch 18: val_loss did not improve from 0.00084 Epoch 18: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 84s 163ms/step - loss: 9.2560e-04 - mae: 0.0237 - mse: 9.2560e-04 - val_loss: 9.5985e-04 - val_mae: 0.0242 - val_mse: 9.5985e-04 - learning_rate: 2.5000e-04 Epoch 19/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 129ms/step - loss: 9.1772e-04 - mae: 0.0236 - mse: 9.1772e-04 Epoch 19: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 77s 150ms/step - loss: 9.1772e-04 - mae: 0.0236 - mse: 9.1772e-04 - val_loss: 9.7458e-04 - val_mae: 0.0243 - val_mse: 9.7458e-04 - learning_rate: 1.2500e-04 Epoch 20/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 134ms/step - loss: 9.2385e-04 - mae: 0.0236 - mse: 9.2385e-04 Epoch 20: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 2143s 4s/step - loss: 9.2383e-04 - mae: 0.0236 - mse: 9.2383e-04 - val_loss: 9.4509e-04 - val_mae: 0.0240 - val_mse: 9.4509e-04 - learning_rate: 1.2500e-04 Epoch 21/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 4s/step - loss: 9.1790e-04 - mae: 0.0236 - mse: 9.1790e-04 Epoch 21: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 2096s 4s/step - loss: 9.1790e-04 - mae: 0.0236 - mse: 9.1790e-04 - val_loss: 9.8873e-04 - val_mae: 0.0246 - val_mse: 9.8873e-04 - learning_rate: 1.2500e-04 Epoch 22/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5s/step - loss: 9.2420e-04 - mae: 0.0236 - mse: 9.2420e-04 Epoch 22: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 2576s 5s/step - loss: 9.2417e-04 - mae: 0.0236 - mse: 9.2417e-04 - val_loss: 8.6196e-04 - val_mae: 0.0229 - val_mse: 8.6196e-04 - learning_rate: 1.2500e-04 Epoch 23/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 152ms/step - loss: 9.1195e-04 - mae: 0.0234 - mse: 9.1195e-04 Epoch 23: val_loss did not improve from 0.00084 Epoch 23: ReduceLROnPlateau reducing learning rate to 6.25000029685907e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 91s 176ms/step - loss: 9.1194e-04 - mae: 0.0234 - mse: 9.1194e-04 - val_loss: 8.5486e-04 - val_mae: 0.0227 - val_mse: 8.5486e-04 - learning_rate: 1.2500e-04 Epoch 24/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 150ms/step - loss: 9.0412e-04 - mae: 0.0234 - mse: 9.0412e-04 Epoch 24: val_loss did not improve from 0.00084 516/516 ━━━━━━━━━━━━━━━━━━━━ 90s 174ms/step - loss: 9.0413e-04 - mae: 0.0234 - mse: 9.0413e-04 - val_loss: 9.8833e-04 - val_mae: 0.0245 - val_mse: 9.8833e-04 - learning_rate: 6.2500e-05 Epoch 24: early stopping Restoring model weights from the end of the best epoch: 14.
169/169 ━━━━━━━━━━━━━━━━━━━━ 13s 72ms/step Metric Value 0 MSE 0.000916 1 MAE 0.023643 2 RMSE 0.030262 3 R2 0.634731 4 MAPE 4.257481 5 SMAPE 4.231848 6 SAE 127.319169
Metric Value 0 MSE 0.001641 1 MAE 0.037640 2 RMSE 0.040506 3 R2 -8.018935 4 MAPE 6.099637 5 SMAPE 5.889675 6 SAE 0.752803
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 69ms/step
Registered model 'Direct_LSTM_Model_average' already exists. Creating a new version of this model... Created version '3' of model 'Direct_LSTM_Model_average'.
Direct Average 32 units
In [12]:
run_direct_lstm_experiment(
build_direct_model_avg,
'average',
'direct_average',
X_train_dir,
y_train_dir,
X_val_dir,
y_val_dir,
X_test_dir,
y_test_dir,
20,epochs=100,lstm_units=32)
Model: "Avarege_Direct_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_4 (Bidirectional) │ (None, 100, 128) │ 33,792 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_6 (Dropout) │ (None, 100, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_5 (Bidirectional) │ (None, 64) │ 41,216 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_7 (Dropout) │ (None, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_4 (Dense) │ (None, 32) │ 2,080 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_8 (Dropout) │ (None, 32) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_5 (Dense) │ (None, 20) │ 660 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 77,748 (303.70 KB)
Trainable params: 77,748 (303.70 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 109ms/step - loss: 0.0465 - mae: 0.1483 - mse: 0.0465 Epoch 1: val_loss improved from inf to 0.00249, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 69s 123ms/step - loss: 0.0465 - mae: 0.1482 - mse: 0.0465 - val_loss: 0.0025 - val_mae: 0.0422 - val_mse: 0.0025 - learning_rate: 0.0010 Epoch 2/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 107ms/step - loss: 0.0038 - mae: 0.0482 - mse: 0.0038 Epoch 2: val_loss improved from 0.00249 to 0.00146, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 62s 119ms/step - loss: 0.0038 - mae: 0.0482 - mse: 0.0038 - val_loss: 0.0015 - val_mae: 0.0309 - val_mse: 0.0015 - learning_rate: 0.0010 Epoch 3/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 106ms/step - loss: 0.0027 - mae: 0.0411 - mse: 0.0027 Epoch 3: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 61s 118ms/step - loss: 0.0027 - mae: 0.0411 - mse: 0.0027 - val_loss: 0.0026 - val_mae: 0.0436 - val_mse: 0.0026 - learning_rate: 0.0010 Epoch 4/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 106ms/step - loss: 0.0021 - mae: 0.0360 - mse: 0.0021 Epoch 4: val_loss improved from 0.00146 to 0.00141, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 61s 118ms/step - loss: 0.0021 - mae: 0.0360 - mse: 0.0021 - val_loss: 0.0014 - val_mae: 0.0304 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 5/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 107ms/step - loss: 0.0017 - mae: 0.0327 - mse: 0.0017 Epoch 5: val_loss improved from 0.00141 to 0.00099, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 62s 119ms/step - loss: 0.0017 - mae: 0.0327 - mse: 0.0017 - val_loss: 9.8511e-04 - val_mae: 0.0249 - val_mse: 9.8511e-04 - learning_rate: 0.0010 Epoch 6/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 0.0015 - mae: 0.0304 - mse: 0.0015 Epoch 6: val_loss did not improve from 0.00099 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 116ms/step - loss: 0.0015 - mae: 0.0304 - mse: 0.0015 - val_loss: 0.0013 - val_mae: 0.0295 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 7/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 105ms/step - loss: 0.0013 - mae: 0.0283 - mse: 0.0013 Epoch 7: val_loss improved from 0.00099 to 0.00093, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 61s 118ms/step - loss: 0.0013 - mae: 0.0283 - mse: 0.0013 - val_loss: 9.2861e-04 - val_mae: 0.0240 - val_mse: 9.2861e-04 - learning_rate: 0.0010 Epoch 8/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 105ms/step - loss: 0.0012 - mae: 0.0271 - mse: 0.0012 Epoch 8: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 117ms/step - loss: 0.0012 - mae: 0.0271 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0252 - val_mse: 0.0010 - learning_rate: 0.0010 Epoch 9/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 0.0011 - mae: 0.0259 - mse: 0.0011 Epoch 9: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 116ms/step - loss: 0.0011 - mae: 0.0259 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0250 - val_mse: 0.0010 - learning_rate: 0.0010 Epoch 10/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 0.0011 - mae: 0.0254 - mse: 0.0011 Epoch 10: val_loss did not improve from 0.00093 Epoch 10: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 115ms/step - loss: 0.0011 - mae: 0.0254 - mse: 0.0011 - val_loss: 0.0011 - val_mae: 0.0265 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 11/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 Epoch 11: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 115ms/step - loss: 0.0010 - mae: 0.0251 - mse: 0.0010 - val_loss: 0.0010 - val_mae: 0.0253 - val_mse: 0.0010 - learning_rate: 5.0000e-04 Epoch 12/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 101ms/step - loss: 0.0010 - mae: 0.0248 - mse: 0.0010 Epoch 12: val_loss did not improve from 0.00093 516/516 ━━━━━━━━━━━━━━━━━━━━ 58s 113ms/step - loss: 0.0010 - mae: 0.0248 - mse: 0.0010 - val_loss: 9.9758e-04 - val_mae: 0.0247 - val_mse: 9.9758e-04 - learning_rate: 5.0000e-04 Epoch 13/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 106ms/step - loss: 9.8815e-04 - mae: 0.0245 - mse: 9.8815e-04 Epoch 13: val_loss improved from 0.00093 to 0.00090, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 61s 118ms/step - loss: 9.8813e-04 - mae: 0.0245 - mse: 9.8813e-04 - val_loss: 8.9774e-04 - val_mae: 0.0234 - val_mse: 8.9774e-04 - learning_rate: 5.0000e-04 Epoch 14/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 103ms/step - loss: 9.7735e-04 - mae: 0.0244 - mse: 9.7735e-04 Epoch 14: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 116ms/step - loss: 9.7735e-04 - mae: 0.0244 - mse: 9.7735e-04 - val_loss: 0.0012 - val_mae: 0.0273 - val_mse: 0.0012 - learning_rate: 5.0000e-04 Epoch 15/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 103ms/step - loss: 9.7412e-04 - mae: 0.0244 - mse: 9.7412e-04 Epoch 15: val_loss did not improve from 0.00090 Epoch 15: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 115ms/step - loss: 9.7409e-04 - mae: 0.0244 - mse: 9.7409e-04 - val_loss: 0.0011 - val_mae: 0.0257 - val_mse: 0.0011 - learning_rate: 5.0000e-04 Epoch 16/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 102ms/step - loss: 9.5017e-04 - mae: 0.0241 - mse: 9.5017e-04 Epoch 16: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 114ms/step - loss: 9.5018e-04 - mae: 0.0241 - mse: 9.5018e-04 - val_loss: 0.0010 - val_mae: 0.0249 - val_mse: 0.0010 - learning_rate: 2.5000e-04 Epoch 17/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 9.5148e-04 - mae: 0.0241 - mse: 9.5148e-04 Epoch 17: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 116ms/step - loss: 9.5145e-04 - mae: 0.0241 - mse: 9.5145e-04 - val_loss: 0.0011 - val_mae: 0.0259 - val_mse: 0.0011 - learning_rate: 2.5000e-04 Epoch 18/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 9.2970e-04 - mae: 0.0237 - mse: 9.2970e-04 Epoch 18: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 115ms/step - loss: 9.2972e-04 - mae: 0.0237 - mse: 9.2972e-04 - val_loss: 9.1160e-04 - val_mae: 0.0235 - val_mse: 9.1160e-04 - learning_rate: 2.5000e-04 Epoch 19/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 102ms/step - loss: 9.3475e-04 - mae: 0.0239 - mse: 9.3475e-04 Epoch 19: val_loss did not improve from 0.00090 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 113ms/step - loss: 9.3476e-04 - mae: 0.0239 - mse: 9.3476e-04 - val_loss: 0.0010 - val_mae: 0.0248 - val_mse: 0.0010 - learning_rate: 2.5000e-04 Epoch 20/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 101ms/step - loss: 9.3682e-04 - mae: 0.0238 - mse: 9.3682e-04 Epoch 20: val_loss improved from 0.00090 to 0.00087, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 58s 113ms/step - loss: 9.3682e-04 - mae: 0.0238 - mse: 9.3682e-04 - val_loss: 8.7411e-04 - val_mae: 0.0230 - val_mse: 8.7411e-04 - learning_rate: 2.5000e-04 Epoch 21/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 103ms/step - loss: 9.2579e-04 - mae: 0.0237 - mse: 9.2579e-04 Epoch 21: val_loss did not improve from 0.00087 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 114ms/step - loss: 9.2580e-04 - mae: 0.0237 - mse: 9.2580e-04 - val_loss: 9.4185e-04 - val_mae: 0.0239 - val_mse: 9.4185e-04 - learning_rate: 2.5000e-04 Epoch 22/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 102ms/step - loss: 9.4794e-04 - mae: 0.0240 - mse: 9.4794e-04 Epoch 22: val_loss improved from 0.00087 to 0.00086, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 59s 114ms/step - loss: 9.4792e-04 - mae: 0.0240 - mse: 9.4792e-04 - val_loss: 8.5781e-04 - val_mae: 0.0228 - val_mse: 8.5781e-04 - learning_rate: 2.5000e-04 Epoch 23/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 101ms/step - loss: 9.2239e-04 - mae: 0.0237 - mse: 9.2239e-04 Epoch 23: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 58s 113ms/step - loss: 9.2240e-04 - mae: 0.0237 - mse: 9.2240e-04 - val_loss: 9.1869e-04 - val_mae: 0.0236 - val_mse: 9.1869e-04 - learning_rate: 2.5000e-04 Epoch 24/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 104ms/step - loss: 9.2537e-04 - mae: 0.0237 - mse: 9.2537e-04 Epoch 24: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 115ms/step - loss: 9.2538e-04 - mae: 0.0237 - mse: 9.2538e-04 - val_loss: 9.1946e-04 - val_mae: 0.0236 - val_mse: 9.1946e-04 - learning_rate: 2.5000e-04 Epoch 25/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 105ms/step - loss: 9.2213e-04 - mae: 0.0236 - mse: 9.2213e-04 Epoch 25: val_loss did not improve from 0.00086 Epoch 25: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 60s 116ms/step - loss: 9.2214e-04 - mae: 0.0236 - mse: 9.2214e-04 - val_loss: 0.0013 - val_mae: 0.0288 - val_mse: 0.0013 - learning_rate: 2.5000e-04 Epoch 26/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 101ms/step - loss: 9.2896e-04 - mae: 0.0237 - mse: 9.2896e-04 Epoch 26: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 58s 112ms/step - loss: 9.2895e-04 - mae: 0.0237 - mse: 9.2895e-04 - val_loss: 9.8292e-04 - val_mae: 0.0244 - val_mse: 9.8292e-04 - learning_rate: 1.2500e-04 Epoch 27/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step - loss: 9.3129e-04 - mae: 0.0237 - mse: 9.3129e-04 Epoch 27: val_loss improved from 0.00086 to 0.00086, saving model to models/saved/Direct_LSTM_Model_average.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 108ms/step - loss: 9.3127e-04 - mae: 0.0237 - mse: 9.3127e-04 - val_loss: 8.5737e-04 - val_mae: 0.0226 - val_mse: 8.5737e-04 - learning_rate: 1.2500e-04 Epoch 28/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 100ms/step - loss: 9.2187e-04 - mae: 0.0237 - mse: 9.2187e-04 Epoch 28: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 58s 112ms/step - loss: 9.2185e-04 - mae: 0.0237 - mse: 9.2185e-04 - val_loss: 9.1403e-04 - val_mae: 0.0236 - val_mse: 9.1403e-04 - learning_rate: 1.2500e-04 Epoch 29/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 102ms/step - loss: 9.0415e-04 - mae: 0.0234 - mse: 9.0415e-04 Epoch 29: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 58s 113ms/step - loss: 9.0416e-04 - mae: 0.0234 - mse: 9.0416e-04 - val_loss: 8.9964e-04 - val_mae: 0.0233 - val_mse: 8.9964e-04 - learning_rate: 1.2500e-04 Epoch 30/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 99ms/step - loss: 9.2287e-04 - mae: 0.0236 - mse: 9.2287e-04 Epoch 30: val_loss did not improve from 0.00086 Epoch 30: ReduceLROnPlateau reducing learning rate to 6.25000029685907e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 57s 110ms/step - loss: 9.2286e-04 - mae: 0.0236 - mse: 9.2286e-04 - val_loss: 9.3180e-04 - val_mae: 0.0238 - val_mse: 9.3180e-04 - learning_rate: 1.2500e-04 Epoch 31/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 98ms/step - loss: 8.9844e-04 - mae: 0.0234 - mse: 8.9844e-04 Epoch 31: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 109ms/step - loss: 8.9845e-04 - mae: 0.0234 - mse: 8.9845e-04 - val_loss: 9.0851e-04 - val_mae: 0.0234 - val_mse: 9.0851e-04 - learning_rate: 6.2500e-05 Epoch 32/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step - loss: 8.9819e-04 - mae: 0.0233 - mse: 8.9819e-04 Epoch 32: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 108ms/step - loss: 8.9820e-04 - mae: 0.0233 - mse: 8.9820e-04 - val_loss: 9.0699e-04 - val_mae: 0.0233 - val_mse: 9.0699e-04 - learning_rate: 6.2500e-05 Epoch 33/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step - loss: 8.9200e-04 - mae: 0.0232 - mse: 8.9200e-04 Epoch 33: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 108ms/step - loss: 8.9201e-04 - mae: 0.0232 - mse: 8.9201e-04 - val_loss: 8.8171e-04 - val_mae: 0.0230 - val_mse: 8.8171e-04 - learning_rate: 6.2500e-05 Epoch 34/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step - loss: 8.8470e-04 - mae: 0.0232 - mse: 8.8470e-04 Epoch 34: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 108ms/step - loss: 8.8473e-04 - mae: 0.0232 - mse: 8.8473e-04 - val_loss: 8.8440e-04 - val_mae: 0.0231 - val_mse: 8.8440e-04 - learning_rate: 6.2500e-05 Epoch 35/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 99ms/step - loss: 8.9359e-04 - mae: 0.0232 - mse: 8.9359e-04 Epoch 35: val_loss did not improve from 0.00086 Epoch 35: ReduceLROnPlateau reducing learning rate to 3.125000148429535e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 57s 110ms/step - loss: 8.9360e-04 - mae: 0.0232 - mse: 8.9360e-04 - val_loss: 9.6942e-04 - val_mae: 0.0243 - val_mse: 9.6942e-04 - learning_rate: 6.2500e-05 Epoch 36/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 98ms/step - loss: 8.8090e-04 - mae: 0.0230 - mse: 8.8090e-04 Epoch 36: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 109ms/step - loss: 8.8092e-04 - mae: 0.0230 - mse: 8.8092e-04 - val_loss: 9.2318e-04 - val_mae: 0.0236 - val_mse: 9.2318e-04 - learning_rate: 3.1250e-05 Epoch 37/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step - loss: 8.7917e-04 - mae: 0.0231 - mse: 8.7917e-04 Epoch 37: val_loss did not improve from 0.00086 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 108ms/step - loss: 8.7920e-04 - mae: 0.0231 - mse: 8.7920e-04 - val_loss: 9.0724e-04 - val_mae: 0.0234 - val_mse: 9.0724e-04 - learning_rate: 3.1250e-05 Epoch 37: early stopping Restoring model weights from the end of the best epoch: 27.
169/169 ━━━━━━━━━━━━━━━━━━━━ 6s 35ms/step Metric Value 0 MSE 0.000926 1 MAE 0.023720 2 RMSE 0.030428 3 R2 0.630699 4 MAPE 4.280387 5 SMAPE 4.245939 6 SAE 127.733871
Metric Value 0 MSE 0.001430 1 MAE 0.035124 2 RMSE 0.037815 3 R2 -6.860410 4 MAPE 5.694740 5 SMAPE 5.510978 6 SAE 0.702487
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 41ms/step
Registered model 'Direct_LSTM_Model_average' already exists. Creating a new version of this model... Created version '4' of model 'Direct_LSTM_Model_average'.
Direct Advanced
In [13]:
run_direct_lstm_experiment(
build_advanced_direct_lstm,
'advanced',
'direct_advanced',
X_train_dir,
y_train_dir,
X_val_dir,
y_val_dir,
X_test_dir,
y_test_dir,
20,epochs=100,lstm_units=64)
Model: "Advanced_Direct_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidir_lstm_1 (Bidirectional) │ (None, 100, 128) │ 33,792 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_1 (Dropout) │ (None, 100, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ batch_norm_1 │ (None, 100, 128) │ 512 │ │ (BatchNormalization) │ │ │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_2 (LSTM) │ (None, 32) │ 20,608 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_2 (Dropout) │ (None, 32) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ batch_norm_2 │ (None, 32) │ 128 │ │ (BatchNormalization) │ │ │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_1 (Dense) │ (None, 64) │ 2,112 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_3 (Dropout) │ (None, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_2 (Dense) │ (None, 32) │ 2,080 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ output_layer (Dense) │ (None, 20) │ 660 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 59,892 (233.95 KB)
Trainable params: 59,572 (232.70 KB)
Non-trainable params: 320 (1.25 KB)
Epoch 1/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 87ms/step - loss: 0.1076 - mae: 0.2189 - mse: 0.1076 Epoch 1: val_loss improved from inf to 0.07088, saving model to models/saved/Direct_LSTM_Model_advanced.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 55s 98ms/step - loss: 0.1075 - mae: 0.2187 - mse: 0.1075 - val_loss: 0.0709 - val_mae: 0.2613 - val_mse: 0.0709 - learning_rate: 0.0010 Epoch 2/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 90ms/step - loss: 0.0040 - mae: 0.0500 - mse: 0.0040 Epoch 2: val_loss improved from 0.07088 to 0.02623, saving model to models/saved/Direct_LSTM_Model_advanced.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 52s 101ms/step - loss: 0.0040 - mae: 0.0500 - mse: 0.0040 - val_loss: 0.0262 - val_mae: 0.1574 - val_mse: 0.0262 - learning_rate: 0.0010 Epoch 3/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 95ms/step - loss: 0.0023 - mae: 0.0377 - mse: 0.0023 Epoch 3: val_loss improved from 0.02623 to 0.01405, saving model to models/saved/Direct_LSTM_Model_advanced.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 55s 106ms/step - loss: 0.0023 - mae: 0.0377 - mse: 0.0023 - val_loss: 0.0141 - val_mae: 0.1124 - val_mse: 0.0141 - learning_rate: 0.0010 Epoch 4/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 91ms/step - loss: 0.0018 - mae: 0.0333 - mse: 0.0018 Epoch 4: val_loss improved from 0.01405 to 0.01130, saving model to models/saved/Direct_LSTM_Model_advanced.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 53s 102ms/step - loss: 0.0018 - mae: 0.0333 - mse: 0.0018 - val_loss: 0.0113 - val_mae: 0.0995 - val_mse: 0.0113 - learning_rate: 0.0010 Epoch 5/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 92ms/step - loss: 0.0015 - mae: 0.0307 - mse: 0.0015 Epoch 5: val_loss improved from 0.01130 to 0.00517, saving model to models/saved/Direct_LSTM_Model_advanced.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 53s 104ms/step - loss: 0.0015 - mae: 0.0307 - mse: 0.0015 - val_loss: 0.0052 - val_mae: 0.0645 - val_mse: 0.0052 - learning_rate: 0.0010 Epoch 6/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 91ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 6: val_loss did not improve from 0.00517 516/516 ━━━━━━━━━━━━━━━━━━━━ 52s 102ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0062 - val_mae: 0.0711 - val_mse: 0.0062 - learning_rate: 0.0010 Epoch 7/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 93ms/step - loss: 0.0013 - mae: 0.0288 - mse: 0.0013 Epoch 7: val_loss improved from 0.00517 to 0.00120, saving model to models/saved/Direct_LSTM_Model_advanced.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 54s 105ms/step - loss: 0.0013 - mae: 0.0288 - mse: 0.0013 - val_loss: 0.0012 - val_mae: 0.0273 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 8/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step - loss: 0.0013 - mae: 0.0281 - mse: 0.0013 Epoch 8: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 56s 108ms/step - loss: 0.0013 - mae: 0.0281 - mse: 0.0013 - val_loss: 0.0058 - val_mae: 0.0683 - val_mse: 0.0058 - learning_rate: 0.0010 Epoch 9/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 94ms/step - loss: 0.0013 - mae: 0.0282 - mse: 0.0013 Epoch 9: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 54s 105ms/step - loss: 0.0013 - mae: 0.0282 - mse: 0.0013 - val_loss: 0.0075 - val_mae: 0.0787 - val_mse: 0.0075 - learning_rate: 0.0010 Epoch 10/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 92ms/step - loss: 0.0013 - mae: 0.0279 - mse: 0.0013 Epoch 10: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 53s 104ms/step - loss: 0.0013 - mae: 0.0279 - mse: 0.0013 - val_loss: 0.0021 - val_mae: 0.0384 - val_mse: 0.0021 - learning_rate: 0.0010 Epoch 11/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 90ms/step - loss: 0.0012 - mae: 0.0275 - mse: 0.0012 Epoch 11: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 52s 101ms/step - loss: 0.0012 - mae: 0.0275 - mse: 0.0012 - val_loss: 0.0014 - val_mae: 0.0286 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 12/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 90ms/step - loss: 0.0013 - mae: 0.0278 - mse: 0.0013 Epoch 12: val_loss did not improve from 0.00120 Epoch 12: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 52s 101ms/step - loss: 0.0013 - mae: 0.0278 - mse: 0.0013 - val_loss: 0.0043 - val_mae: 0.0534 - val_mse: 0.0043 - learning_rate: 0.0010 Epoch 13/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 91ms/step - loss: 0.0012 - mae: 0.0269 - mse: 0.0012 Epoch 13: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 52s 102ms/step - loss: 0.0012 - mae: 0.0269 - mse: 0.0012 - val_loss: 0.0022 - val_mae: 0.0391 - val_mse: 0.0022 - learning_rate: 5.0000e-04 Epoch 14/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 92ms/step - loss: 0.0011 - mae: 0.0265 - mse: 0.0011 Epoch 14: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 53s 103ms/step - loss: 0.0011 - mae: 0.0265 - mse: 0.0011 - val_loss: 0.0020 - val_mae: 0.0362 - val_mse: 0.0020 - learning_rate: 5.0000e-04 Epoch 15/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 93ms/step - loss: 0.0011 - mae: 0.0266 - mse: 0.0011 Epoch 15: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 54s 104ms/step - loss: 0.0011 - mae: 0.0266 - mse: 0.0011 - val_loss: 0.0024 - val_mae: 0.0414 - val_mse: 0.0024 - learning_rate: 5.0000e-04 Epoch 16/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 91ms/step - loss: 0.0011 - mae: 0.0266 - mse: 0.0011 Epoch 16: val_loss did not improve from 0.00120 516/516 ━━━━━━━━━━━━━━━━━━━━ 53s 102ms/step - loss: 0.0011 - mae: 0.0266 - mse: 0.0011 - val_loss: 0.0018 - val_mae: 0.0340 - val_mse: 0.0018 - learning_rate: 5.0000e-04 Epoch 17/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 89ms/step - loss: 0.0011 - mae: 0.0264 - mse: 0.0011 Epoch 17: val_loss did not improve from 0.00120 Epoch 17: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 51s 100ms/step - loss: 0.0011 - mae: 0.0264 - mse: 0.0011 - val_loss: 0.0026 - val_mae: 0.0434 - val_mse: 0.0026 - learning_rate: 5.0000e-04 Epoch 17: early stopping Restoring model weights from the end of the best epoch: 7.
169/169 ━━━━━━━━━━━━━━━━━━━━ 6s 34ms/step Metric Value 0 MSE 0.001158 1 MAE 0.026813 2 RMSE 0.034033 3 R2 0.538024 4 MAPE 4.730761 5 SMAPE 4.802120 6 SAE 144.385386
Metric Value 0 MSE 0.000479 1 MAE 0.017986 2 RMSE 0.021891 3 R2 -1.634037 4 MAPE 2.924539 5 SMAPE 2.865229 6 SAE 0.359718
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 33ms/step
Registered model 'Direct_LSTM_Model_advanced' already exists. Creating a new version of this model... Created version '3' of model 'Direct_LSTM_Model_advanced'.
Recursive Model
In [41]:
from autoregression.models.RecurLSTM import build_recursive_lstm_simple
Recursive Simple
In [42]:
run_recursive_lstm_experiment(
build_recursive_lstm_simple,
'simple',
'recursive_simple',
X_train_rec,
y_train_rec,
X_val_rec,
y_val_rec,
X_test_rec,
y_test_dir,
n_predicted_rows=5000,
output_steps=20,
epochs=100)
Model: "Recursive_LSTM_Model_simple"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_layer (LSTM) │ (None, 64) │ 16,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ output_layer (Dense) │ (None, 1) │ 65 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 16,961 (66.25 KB)
Trainable params: 16,961 (66.25 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 0.0105 - mae: 0.0502 - mse: 0.0105 Epoch 1: val_loss improved from inf to 0.00050, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 25ms/step - loss: 0.0104 - mae: 0.0501 - mse: 0.0104 - val_loss: 4.9504e-04 - val_mae: 0.0178 - val_mse: 4.9504e-04 - learning_rate: 0.0010 Epoch 2/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 4.4489e-04 - mae: 0.0168 - mse: 4.4489e-04 Epoch 2: val_loss improved from 0.00050 to 0.00033, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 4.4477e-04 - mae: 0.0168 - mse: 4.4477e-04 - val_loss: 3.2985e-04 - val_mae: 0.0144 - val_mse: 3.2985e-04 - learning_rate: 0.0010 Epoch 3/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 3.4540e-04 - mae: 0.0148 - mse: 3.4540e-04 Epoch 3: val_loss improved from 0.00033 to 0.00030, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 3.4530e-04 - mae: 0.0148 - mse: 3.4530e-04 - val_loss: 2.9730e-04 - val_mae: 0.0138 - val_mse: 2.9730e-04 - learning_rate: 0.0010 Epoch 4/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 2.8250e-04 - mae: 0.0135 - mse: 2.8250e-04 Epoch 4: val_loss improved from 0.00030 to 0.00022, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 2.8243e-04 - mae: 0.0135 - mse: 2.8243e-04 - val_loss: 2.1683e-04 - val_mae: 0.0117 - val_mse: 2.1683e-04 - learning_rate: 0.0010 Epoch 5/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 2.3279e-04 - mae: 0.0122 - mse: 2.3279e-04 Epoch 5: val_loss improved from 0.00022 to 0.00021, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 12s 24ms/step - loss: 2.3277e-04 - mae: 0.0122 - mse: 2.3277e-04 - val_loss: 2.0624e-04 - val_mae: 0.0114 - val_mse: 2.0624e-04 - learning_rate: 0.0010 Epoch 6/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 2.0964e-04 - mae: 0.0116 - mse: 2.0964e-04 Epoch 6: val_loss improved from 0.00021 to 0.00017, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 12s 24ms/step - loss: 2.0959e-04 - mae: 0.0116 - mse: 2.0959e-04 - val_loss: 1.7477e-04 - val_mae: 0.0106 - val_mse: 1.7477e-04 - learning_rate: 0.0010 Epoch 7/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 1.8550e-04 - mae: 0.0109 - mse: 1.8550e-04 Epoch 7: val_loss improved from 0.00017 to 0.00016, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 1.8549e-04 - mae: 0.0109 - mse: 1.8549e-04 - val_loss: 1.5961e-04 - val_mae: 0.0101 - val_mse: 1.5961e-04 - learning_rate: 0.0010 Epoch 8/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 1.7259e-04 - mae: 0.0105 - mse: 1.7259e-04 Epoch 8: val_loss improved from 0.00016 to 0.00014, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 1.7259e-04 - mae: 0.0105 - mse: 1.7259e-04 - val_loss: 1.3526e-04 - val_mae: 0.0093 - val_mse: 1.3526e-04 - learning_rate: 0.0010 Epoch 9/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.5117e-04 - mae: 0.0099 - mse: 1.5117e-04 Epoch 9: val_loss improved from 0.00014 to 0.00013, saving model to models/saved/Recursive_LSTM_Model_simple.keras Epoch 9: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.5113e-04 - mae: 0.0099 - mse: 1.5113e-04 - val_loss: 1.2516e-04 - val_mae: 0.0090 - val_mse: 1.2516e-04 - learning_rate: 0.0010 Epoch 10/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.3552e-04 - mae: 0.0093 - mse: 1.3552e-04 Epoch 10: val_loss improved from 0.00013 to 0.00012, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.3551e-04 - mae: 0.0093 - mse: 1.3551e-04 - val_loss: 1.1857e-04 - val_mae: 0.0087 - val_mse: 1.1857e-04 - learning_rate: 5.0000e-04 Epoch 11/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 1.3316e-04 - mae: 0.0092 - mse: 1.3316e-04 Epoch 11: val_loss improved from 0.00012 to 0.00012, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 12s 24ms/step - loss: 1.3314e-04 - mae: 0.0092 - mse: 1.3314e-04 - val_loss: 1.1500e-04 - val_mae: 0.0086 - val_mse: 1.1500e-04 - learning_rate: 5.0000e-04 Epoch 12/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.2530e-04 - mae: 0.0090 - mse: 1.2530e-04 Epoch 12: val_loss improved from 0.00012 to 0.00011, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 1.2530e-04 - mae: 0.0090 - mse: 1.2530e-04 - val_loss: 1.1273e-04 - val_mae: 0.0085 - val_mse: 1.1273e-04 - learning_rate: 5.0000e-04 Epoch 13/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 1.2269e-04 - mae: 0.0089 - mse: 1.2269e-04 Epoch 13: val_loss did not improve from 0.00011 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 1.2269e-04 - mae: 0.0089 - mse: 1.2269e-04 - val_loss: 1.1517e-04 - val_mae: 0.0086 - val_mse: 1.1517e-04 - learning_rate: 5.0000e-04 Epoch 14/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.1770e-04 - mae: 0.0087 - mse: 1.1770e-04 Epoch 14: val_loss did not improve from 0.00011 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.1771e-04 - mae: 0.0087 - mse: 1.1771e-04 - val_loss: 1.1465e-04 - val_mae: 0.0086 - val_mse: 1.1465e-04 - learning_rate: 5.0000e-04 Epoch 15/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 1.2494e-04 - mae: 0.0090 - mse: 1.2494e-04 Epoch 15: val_loss improved from 0.00011 to 0.00011, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 12s 24ms/step - loss: 1.2492e-04 - mae: 0.0090 - mse: 1.2492e-04 - val_loss: 1.0728e-04 - val_mae: 0.0083 - val_mse: 1.0728e-04 - learning_rate: 5.0000e-04 Epoch 16/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.1677e-04 - mae: 0.0086 - mse: 1.1677e-04 Epoch 16: val_loss did not improve from 0.00011 Epoch 16: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.1677e-04 - mae: 0.0086 - mse: 1.1677e-04 - val_loss: 1.2772e-04 - val_mae: 0.0090 - val_mse: 1.2772e-04 - learning_rate: 5.0000e-04 Epoch 17/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.1074e-04 - mae: 0.0084 - mse: 1.1074e-04 Epoch 17: val_loss did not improve from 0.00011 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 1.1074e-04 - mae: 0.0084 - mse: 1.1074e-04 - val_loss: 1.0915e-04 - val_mae: 0.0084 - val_mse: 1.0915e-04 - learning_rate: 2.5000e-04 Epoch 18/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.1318e-04 - mae: 0.0085 - mse: 1.1318e-04 Epoch 18: val_loss improved from 0.00011 to 0.00011, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 1.1316e-04 - mae: 0.0085 - mse: 1.1316e-04 - val_loss: 1.0591e-04 - val_mae: 0.0082 - val_mse: 1.0591e-04 - learning_rate: 2.5000e-04 Epoch 19/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 1.1099e-04 - mae: 0.0084 - mse: 1.1099e-04 Epoch 19: val_loss improved from 0.00011 to 0.00011, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 1.1099e-04 - mae: 0.0084 - mse: 1.1099e-04 - val_loss: 1.0563e-04 - val_mae: 0.0082 - val_mse: 1.0563e-04 - learning_rate: 2.5000e-04 Epoch 20/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 1.0965e-04 - mae: 0.0084 - mse: 1.0965e-04 Epoch 20: val_loss did not improve from 0.00011 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 26ms/step - loss: 1.0965e-04 - mae: 0.0084 - mse: 1.0965e-04 - val_loss: 1.0641e-04 - val_mae: 0.0082 - val_mse: 1.0641e-04 - learning_rate: 2.5000e-04 Epoch 21/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 1.0786e-04 - mae: 0.0083 - mse: 1.0786e-04 Epoch 21: val_loss improved from 0.00011 to 0.00010, saving model to models/saved/Recursive_LSTM_Model_simple.keras Epoch 21: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 1.0788e-04 - mae: 0.0083 - mse: 1.0788e-04 - val_loss: 1.0461e-04 - val_mae: 0.0082 - val_mse: 1.0461e-04 - learning_rate: 2.5000e-04 Epoch 22/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 1.0967e-04 - mae: 0.0084 - mse: 1.0967e-04 Epoch 22: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.0967e-04 - mae: 0.0084 - mse: 1.0967e-04 - val_loss: 1.0467e-04 - val_mae: 0.0082 - val_mse: 1.0467e-04 - learning_rate: 1.2500e-04 Epoch 23/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.0636e-04 - mae: 0.0083 - mse: 1.0636e-04 Epoch 23: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 1.0637e-04 - mae: 0.0083 - mse: 1.0637e-04 - val_loss: 1.1395e-04 - val_mae: 0.0085 - val_mse: 1.1395e-04 - learning_rate: 1.2500e-04 Epoch 24/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.1026e-04 - mae: 0.0084 - mse: 1.1026e-04 Epoch 24: val_loss improved from 0.00010 to 0.00010, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.1025e-04 - mae: 0.0084 - mse: 1.1025e-04 - val_loss: 1.0438e-04 - val_mae: 0.0082 - val_mse: 1.0438e-04 - learning_rate: 1.2500e-04 Epoch 25/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.0856e-04 - mae: 0.0084 - mse: 1.0856e-04 Epoch 25: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.0856e-04 - mae: 0.0084 - mse: 1.0856e-04 - val_loss: 1.0741e-04 - val_mae: 0.0083 - val_mse: 1.0741e-04 - learning_rate: 1.2500e-04 Epoch 26/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - loss: 1.0645e-04 - mae: 0.0082 - mse: 1.0645e-04 Epoch 26: val_loss did not improve from 0.00010 Epoch 26: ReduceLROnPlateau reducing learning rate to 6.25000029685907e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 29ms/step - loss: 1.0646e-04 - mae: 0.0082 - mse: 1.0646e-04 - val_loss: 1.1142e-04 - val_mae: 0.0084 - val_mse: 1.1142e-04 - learning_rate: 1.2500e-04 Epoch 27/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - loss: 1.0685e-04 - mae: 0.0083 - mse: 1.0685e-04 Epoch 27: val_loss improved from 0.00010 to 0.00010, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 29ms/step - loss: 1.0685e-04 - mae: 0.0083 - mse: 1.0685e-04 - val_loss: 1.0426e-04 - val_mae: 0.0082 - val_mse: 1.0426e-04 - learning_rate: 6.2500e-05 Epoch 28/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 1.0796e-04 - mae: 0.0083 - mse: 1.0796e-04 Epoch 28: val_loss improved from 0.00010 to 0.00010, saving model to models/saved/Recursive_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 1.0796e-04 - mae: 0.0083 - mse: 1.0796e-04 - val_loss: 1.0414e-04 - val_mae: 0.0082 - val_mse: 1.0414e-04 - learning_rate: 6.2500e-05 Epoch 29/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.0709e-04 - mae: 0.0083 - mse: 1.0709e-04 Epoch 29: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.0709e-04 - mae: 0.0083 - mse: 1.0709e-04 - val_loss: 1.0975e-04 - val_mae: 0.0083 - val_mse: 1.0975e-04 - learning_rate: 6.2500e-05 Epoch 30/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.0686e-04 - mae: 0.0083 - mse: 1.0686e-04 Epoch 30: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 12s 24ms/step - loss: 1.0686e-04 - mae: 0.0083 - mse: 1.0686e-04 - val_loss: 1.1134e-04 - val_mae: 0.0084 - val_mse: 1.1134e-04 - learning_rate: 6.2500e-05 Epoch 31/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.0726e-04 - mae: 0.0083 - mse: 1.0726e-04 Epoch 31: val_loss did not improve from 0.00010 Epoch 31: ReduceLROnPlateau reducing learning rate to 3.125000148429535e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 1.0726e-04 - mae: 0.0083 - mse: 1.0726e-04 - val_loss: 1.1336e-04 - val_mae: 0.0085 - val_mse: 1.1336e-04 - learning_rate: 6.2500e-05 Epoch 32/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 25ms/step - loss: 1.0412e-04 - mae: 0.0082 - mse: 1.0412e-04 Epoch 32: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 28ms/step - loss: 1.0412e-04 - mae: 0.0082 - mse: 1.0412e-04 - val_loss: 1.1005e-04 - val_mae: 0.0084 - val_mse: 1.1005e-04 - learning_rate: 3.1250e-05 Epoch 33/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 1.0665e-04 - mae: 0.0083 - mse: 1.0665e-04 Epoch 33: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 1.0665e-04 - mae: 0.0083 - mse: 1.0665e-04 - val_loss: 1.0624e-04 - val_mae: 0.0082 - val_mse: 1.0624e-04 - learning_rate: 3.1250e-05 Epoch 34/100 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 1.0749e-04 - mae: 0.0083 - mse: 1.0749e-04 Epoch 34: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 24ms/step - loss: 1.0748e-04 - mae: 0.0083 - mse: 1.0748e-04 - val_loss: 1.0489e-04 - val_mae: 0.0082 - val_mse: 1.0489e-04 - learning_rate: 3.1250e-05 Epoch 35/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 1.0702e-04 - mae: 0.0083 - mse: 1.0702e-04 Epoch 35: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 1.0702e-04 - mae: 0.0083 - mse: 1.0702e-04 - val_loss: 1.0925e-04 - val_mae: 0.0083 - val_mse: 1.0925e-04 - learning_rate: 3.1250e-05 Epoch 36/100 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - loss: 1.0740e-04 - mae: 0.0083 - mse: 1.0740e-04 Epoch 36: val_loss did not improve from 0.00010 Epoch 36: ReduceLROnPlateau reducing learning rate to 1.5625000742147677e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 29ms/step - loss: 1.0740e-04 - mae: 0.0083 - mse: 1.0740e-04 - val_loss: 1.0812e-04 - val_mae: 0.0083 - val_mse: 1.0812e-04 - learning_rate: 3.1250e-05 Epoch 37/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 1.0367e-04 - mae: 0.0082 - mse: 1.0367e-04 Epoch 37: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 1.0367e-04 - mae: 0.0082 - mse: 1.0367e-04 - val_loss: 1.1001e-04 - val_mae: 0.0084 - val_mse: 1.1001e-04 - learning_rate: 1.5625e-05 Epoch 38/100 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 1.0677e-04 - mae: 0.0083 - mse: 1.0677e-04 Epoch 38: val_loss did not improve from 0.00010 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 1.0677e-04 - mae: 0.0083 - mse: 1.0677e-04 - val_loss: 1.0553e-04 - val_mae: 0.0082 - val_mse: 1.0553e-04 - learning_rate: 1.5625e-05 Epoch 38: early stopping Restoring model weights from the end of the best epoch: 28.
Metric Value 0 MSE 0.001175 1 MAE 0.027646 2 RMSE 0.034279 3 R2 0.552002 4 MAPE 5.058365 5 SMAPE 4.937416 6 SAE 138.231778
Metric Value 0 MSE 0.001111 1 MAE 0.030223 2 RMSE 0.033331 3 R2 -5.106532 4 MAPE 4.904937 5 SMAPE 4.761486 6 SAE 0.604462
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 63ms/step
Successfully registered model 'Recursive_LSTM_Model_simple'. Created version '1' of model 'Recursive_LSTM_Model_simple'.
Sequence to sequence model
In [38]:
from autoregression.utils_ar import run_seq2seq_lstm_experiment
from autoregression.models.seq2seq_lstm import build_seq2seq_lstm_simple
Seq2Seq Simple
In [39]:
run_seq2seq_lstm_experiment(build_seq2seq_lstm_simple,
'simple',
'seq2seq_simple',
X_train=X_train_dir,
X_test=X_test_dir,
X_val=X_val_dir,
y_test=y_test_dir,
y_train=y_train_dir,
y_val=y_val_dir,
output_steps=20,
lstm_units=32)
Model: "Seq2Seq_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ encoder_input (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ encoder_lstm (LSTM) │ (None, 32) │ 4,352 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ repeat_vector (RepeatVector) │ (None, 20, 32) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ decoder_lstm (LSTM) │ (None, 20, 32) │ 8,320 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ time_distributed_output │ (None, 20, 1) │ 33 │ │ (TimeDistributed) │ │ │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 12,705 (49.63 KB)
Trainable params: 12,705 (49.63 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.0133 - mae: 0.0707 - mse: 0.0133 Epoch 1: val_loss improved from inf to 0.00141, saving model to models/saved/Seq2seq_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 18s 28ms/step - loss: 0.0132 - mae: 0.0707 - mse: 0.0132 - val_loss: 0.0014 - val_mae: 0.0307 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 2/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 25ms/step - loss: 0.0012 - mae: 0.0279 - mse: 0.0012 Epoch 2: val_loss improved from 0.00141 to 0.00124, saving model to models/saved/Seq2seq_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 0.0012 - mae: 0.0279 - mse: 0.0012 - val_loss: 0.0012 - val_mae: 0.0286 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 3/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 27ms/step - loss: 0.0012 - mae: 0.0274 - mse: 0.0012 Epoch 3: val_loss did not improve from 0.00124 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 29ms/step - loss: 0.0012 - mae: 0.0274 - mse: 0.0012 - val_loss: 0.0014 - val_mae: 0.0306 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 4/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 27ms/step - loss: 0.0011 - mae: 0.0263 - mse: 0.0011 Epoch 4: val_loss improved from 0.00124 to 0.00106, saving model to models/saved/Seq2seq_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 29ms/step - loss: 0.0011 - mae: 0.0263 - mse: 0.0011 - val_loss: 0.0011 - val_mae: 0.0261 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 5/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.0011 - mae: 0.0257 - mse: 0.0011 Epoch 5: val_loss improved from 0.00106 to 0.00097, saving model to models/saved/Seq2seq_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 0.0011 - mae: 0.0257 - mse: 0.0011 - val_loss: 9.7057e-04 - val_mae: 0.0248 - val_mse: 9.7057e-04 - learning_rate: 0.0010 Epoch 6/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 Epoch 6: val_loss did not improve from 0.00097 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 0.0010 - mae: 0.0250 - mse: 0.0010 - val_loss: 0.0011 - val_mae: 0.0271 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 7/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.0010 - mae: 0.0248 - mse: 0.0010 Epoch 7: val_loss improved from 0.00097 to 0.00091, saving model to models/saved/Seq2seq_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 0.0010 - mae: 0.0248 - mse: 0.0010 - val_loss: 9.1142e-04 - val_mae: 0.0239 - val_mse: 9.1142e-04 - learning_rate: 0.0010 Epoch 8/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 9.9416e-04 - mae: 0.0247 - mse: 9.9416e-04 Epoch 8: val_loss improved from 0.00091 to 0.00089, saving model to models/saved/Seq2seq_LSTM_Model_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 9.9414e-04 - mae: 0.0247 - mse: 9.9414e-04 - val_loss: 8.8726e-04 - val_mae: 0.0233 - val_mse: 8.8726e-04 - learning_rate: 0.0010 Epoch 9/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 9.6517e-04 - mae: 0.0242 - mse: 9.6517e-04 Epoch 9: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 9.6513e-04 - mae: 0.0242 - mse: 9.6513e-04 - val_loss: 0.0012 - val_mae: 0.0272 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 10/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 9.5117e-04 - mae: 0.0240 - mse: 9.5117e-04 Epoch 10: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 9.5118e-04 - mae: 0.0240 - mse: 9.5118e-04 - val_loss: 0.0012 - val_mae: 0.0278 - val_mse: 0.0012 - learning_rate: 0.0010 Epoch 11/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 25ms/step - loss: 9.8304e-04 - mae: 0.0243 - mse: 9.8304e-04 Epoch 11: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 28ms/step - loss: 9.8284e-04 - mae: 0.0243 - mse: 9.8284e-04 - val_loss: 0.0011 - val_mae: 0.0265 - val_mse: 0.0011 - learning_rate: 0.0010 Epoch 12/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 25ms/step - loss: 9.4905e-04 - mae: 0.0239 - mse: 9.4905e-04 Epoch 12: val_loss did not improve from 0.00089 Epoch 12: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 27ms/step - loss: 9.4903e-04 - mae: 0.0239 - mse: 9.4903e-04 - val_loss: 0.0013 - val_mae: 0.0286 - val_mse: 0.0013 - learning_rate: 0.0010 Epoch 13/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 8.9432e-04 - mae: 0.0232 - mse: 8.9432e-04 Epoch 13: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 25ms/step - loss: 8.9433e-04 - mae: 0.0232 - mse: 8.9433e-04 - val_loss: 0.0010 - val_mae: 0.0253 - val_mse: 0.0010 - learning_rate: 5.0000e-04 Epoch 14/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 9.0044e-04 - mae: 0.0234 - mse: 9.0044e-04 Epoch 14: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 9.0044e-04 - mae: 0.0234 - mse: 9.0044e-04 - val_loss: 9.4328e-04 - val_mae: 0.0240 - val_mse: 9.4328e-04 - learning_rate: 5.0000e-04 Epoch 15/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - loss: 8.9680e-04 - mae: 0.0232 - mse: 8.9680e-04 Epoch 15: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 28ms/step - loss: 8.9679e-04 - mae: 0.0232 - mse: 8.9679e-04 - val_loss: 9.9393e-04 - val_mae: 0.0245 - val_mse: 9.9393e-04 - learning_rate: 5.0000e-04 Epoch 16/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - loss: 9.2054e-04 - mae: 0.0236 - mse: 9.2054e-04 Epoch 16: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 15s 28ms/step - loss: 9.2049e-04 - mae: 0.0236 - mse: 9.2049e-04 - val_loss: 8.9942e-04 - val_mae: 0.0234 - val_mse: 8.9942e-04 - learning_rate: 5.0000e-04 Epoch 17/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 8.9189e-04 - mae: 0.0231 - mse: 8.9189e-04 Epoch 17: val_loss did not improve from 0.00089 Epoch 17: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 14s 26ms/step - loss: 8.9188e-04 - mae: 0.0231 - mse: 8.9188e-04 - val_loss: 0.0015 - val_mae: 0.0314 - val_mse: 0.0015 - learning_rate: 5.0000e-04 Epoch 18/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 8.7728e-04 - mae: 0.0230 - mse: 8.7728e-04 Epoch 18: val_loss did not improve from 0.00089 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 26ms/step - loss: 8.7727e-04 - mae: 0.0230 - mse: 8.7727e-04 - val_loss: 9.5193e-04 - val_mae: 0.0240 - val_mse: 9.5193e-04 - learning_rate: 2.5000e-04 Epoch 18: early stopping Restoring model weights from the end of the best epoch: 8.
169/169 ━━━━━━━━━━━━━━━━━━━━ 2s 8ms/step Metric Value 0 MSE 0.001001 1 MAE 0.024937 2 RMSE 0.031631 3 R2 0.600926 4 MAPE 4.490235 5 SMAPE 4.458549 6 SAE 134.287732
Metric Value 0 MSE 0.001543 1 MAE 0.036573 2 RMSE 0.039278 3 R2 -7.480304 4 MAPE 5.928509 5 SMAPE 5.730660 6 SAE 0.731469
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 36ms/step
Registered model 'Seq2seq_LSTM_Model_simple' already exists. Creating a new version of this model... Created version '3' of model 'Seq2seq_LSTM_Model_simple'.
Hybrid Model
In [21]:
from autoregression.utils_ar import run_direct_refiner_experiment
from autoregression.models.RefineLSTM import build_refinement_cnn_model_simple,build_refinement_lstm_model_simple,build_average_refinement_lstm
import mlflow.keras
Hybrid: Direct Simple + Refine LSTM Simple
In [ ]:
dir_model = mlflow.keras.load_model("models:/Direct_LSTM_Model_simple/4")
run_direct_refiner_experiment(build_refinement_lstm_model_simple,
dir_model,
'simple_lstm_simple',
'ref_simple_lstm_simple',
X_train_dir=X_train_dir,
X_test_dir=X_test_dir,
X_val_dir=X_val_dir,
y_test_dir=y_test_dir,
y_train_dir=y_train_dir,
y_val_dir=y_val_dir,
output_steps=20,
units=64)
516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step 172/172 ━━━━━━━━━━━━━━━━━━━━ 3s 18ms/step 169/169 ━━━━━━━━━━━━━━━━━━━━ 3s 17ms/step (20, 1)
Model: "Refinement_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ refinement_input (InputLayer) │ (None, 20, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ refinement_lstm (LSTM) │ (None, 64) │ 16,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ refined_20th_output (Dense) │ (None, 1) │ 65 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 16,961 (66.25 KB)
Trainable params: 16,961 (66.25 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0159 - mae: 0.0670 - mse: 0.0159 Epoch 1: val_loss improved from inf to 0.00139, saving model to models/saved/Direct_Refiner_Model_simple_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 6s 9ms/step - loss: 0.0158 - mae: 0.0669 - mse: 0.0158 - val_loss: 0.0014 - val_mae: 0.0303 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 2/30 509/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 2: val_loss did not improve from 0.00139 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0323 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 3/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 3: val_loss did not improve from 0.00139 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0324 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 4/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0015 - mae: 0.0303 - mse: 0.0015 Epoch 4: val_loss did not improve from 0.00139 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0015 - mae: 0.0303 - mse: 0.0015 - val_loss: 0.0022 - val_mae: 0.0386 - val_mse: 0.0022 - learning_rate: 0.0010 Epoch 5/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 Epoch 5: val_loss improved from 0.00139 to 0.00137, saving model to models/saved/Direct_Refiner_Model_simple_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0300 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 6/30 509/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 6: val_loss did not improve from 0.00137 Epoch 6: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 7ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0021 - val_mae: 0.0378 - val_mse: 0.0021 - learning_rate: 0.0010 Epoch 7/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 Epoch 7: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 8ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 - val_loss: 0.0018 - val_mae: 0.0343 - val_mse: 0.0018 - learning_rate: 5.0000e-04 Epoch 8/30 508/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0013 - mae: 0.0291 - mse: 0.0013 Epoch 8: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 7ms/step - loss: 0.0013 - mae: 0.0291 - mse: 0.0013 - val_loss: 0.0019 - val_mae: 0.0360 - val_mse: 0.0019 - learning_rate: 5.0000e-04 Epoch 9/30 512/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 9: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0020 - val_mae: 0.0369 - val_mse: 0.0020 - learning_rate: 5.0000e-04 Epoch 10/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 10: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0019 - val_mae: 0.0359 - val_mse: 0.0019 - learning_rate: 5.0000e-04 Epoch 11/30 507/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 11: val_loss did not improve from 0.00137 Epoch 11: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0018 - val_mae: 0.0345 - val_mse: 0.0018 - learning_rate: 5.0000e-04 Epoch 12/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 Epoch 12: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 - val_loss: 0.0021 - val_mae: 0.0378 - val_mse: 0.0021 - learning_rate: 2.5000e-04 Epoch 13/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 Epoch 13: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0305 - val_mse: 0.0014 - learning_rate: 2.5000e-04 Epoch 14/30 506/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 Epoch 14: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0311 - val_mse: 0.0015 - learning_rate: 2.5000e-04 Epoch 15/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 15: val_loss did not improve from 0.00137 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0308 - val_mse: 0.0014 - learning_rate: 2.5000e-04 Epoch 15: early stopping Restoring model weights from the end of the best epoch: 5.
169/169 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step Metric Value 0 MSE 0.000946 1 MAE 0.024211 2 RMSE 0.030765 3 R2 0.622487 4 MAPE 4.377203 5 SMAPE 4.331322 6 SAE 130.374342
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 51ms/step
Registered model 'Direct_Refiner_Model_simple_lstm_simple' already exists. Creating a new version of this model... Created version '2' of model 'Direct_Refiner_Model_simple_lstm_simple'.
Hybrid: Direct Simple + Refine CNN Simple
In [31]:
dir_model = mlflow.keras.load_model("models:/Direct_LSTM_Model_simple/4")
run_direct_refiner_experiment(build_refinement_cnn_model_simple,
dir_model,
'simple_cnn_simple',
'ref_simple_cnn_simple',
X_train_dir=X_train_dir,
X_test_dir=X_test_dir,
X_val_dir=X_val_dir,
y_test_dir=y_test_dir,
y_train_dir=y_train_dir,
y_val_dir=y_val_dir,
output_steps=20,
units=32)
516/516 ━━━━━━━━━━━━━━━━━━━━ 10s 19ms/step 172/172 ━━━━━━━━━━━━━━━━━━━━ 3s 20ms/step 169/169 ━━━━━━━━━━━━━━━━━━━━ 3s 18ms/step (20, 1)
Model: "Base_CNN_Refiner"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ refinement_input (InputLayer) │ (None, 20, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ conv1d_2 (Conv1D) │ (None, 18, 16) │ 64 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ global_max_pooling1d_2 │ (None, 16) │ 0 │ │ (GlobalMaxPooling1D) │ │ │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_14 (Dense) │ (None, 32) │ 544 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ refined_output (Dense) │ (None, 1) │ 33 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 641 (2.50 KB)
Trainable params: 641 (2.50 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/30 491/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0253 - mae: 0.0968 Epoch 1: val_loss improved from inf to 0.00272, saving model to models/saved/Direct_Refiner_Model_simple_cnn_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 2s 3ms/step - loss: 0.0244 - mae: 0.0944 - val_loss: 0.0027 - val_mae: 0.0436 - learning_rate: 0.0010 Epoch 2/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 1ms/step - loss: 0.0015 - mae: 0.0311 Epoch 2: val_loss improved from 0.00272 to 0.00201, saving model to models/saved/Direct_Refiner_Model_simple_cnn_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0015 - mae: 0.0311 - val_loss: 0.0020 - val_mae: 0.0369 - learning_rate: 0.0010 Epoch 3/30 499/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0302 Epoch 3: val_loss improved from 0.00201 to 0.00169, saving model to models/saved/Direct_Refiner_Model_simple_cnn_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0302 - val_loss: 0.0017 - val_mae: 0.0335 - learning_rate: 0.0010 Epoch 4/30 503/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0301 Epoch 4: val_loss did not improve from 0.00169 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0301 - val_loss: 0.0017 - val_mae: 0.0336 - learning_rate: 0.0010 Epoch 5/30 505/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0301 Epoch 5: val_loss improved from 0.00169 to 0.00151, saving model to models/saved/Direct_Refiner_Model_simple_cnn_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0301 - val_loss: 0.0015 - val_mae: 0.0315 - learning_rate: 0.0010 Epoch 6/30 505/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0304 Epoch 6: val_loss did not improve from 0.00151 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - loss: 0.0014 - mae: 0.0304 - val_loss: 0.0018 - val_mae: 0.0351 - learning_rate: 0.0010 Epoch 7/30 497/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0299 Epoch 7: val_loss improved from 0.00151 to 0.00145, saving model to models/saved/Direct_Refiner_Model_simple_cnn_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - loss: 0.0014 - mae: 0.0299 - val_loss: 0.0015 - val_mae: 0.0308 - learning_rate: 0.0010 Epoch 8/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0301 Epoch 8: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 2s 3ms/step - loss: 0.0014 - mae: 0.0301 - val_loss: 0.0015 - val_mae: 0.0308 - learning_rate: 0.0010 Epoch 9/30 500/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0300 Epoch 9: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - loss: 0.0014 - mae: 0.0301 - val_loss: 0.0016 - val_mae: 0.0320 - learning_rate: 0.0010 Epoch 10/30 507/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0300 Epoch 10: val_loss did not improve from 0.00145 Epoch 10: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0300 - val_loss: 0.0016 - val_mae: 0.0321 - learning_rate: 0.0010 Epoch 11/30 493/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0298 Epoch 11: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0298 - val_loss: 0.0015 - val_mae: 0.0311 - learning_rate: 5.0000e-04 Epoch 12/30 493/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0299 Epoch 12: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0299 - val_loss: 0.0018 - val_mae: 0.0343 - learning_rate: 5.0000e-04 Epoch 13/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0300 Epoch 13: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0300 - val_loss: 0.0016 - val_mae: 0.0323 - learning_rate: 5.0000e-04 Epoch 14/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0302 Epoch 14: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - loss: 0.0014 - mae: 0.0302 - val_loss: 0.0020 - val_mae: 0.0365 - learning_rate: 5.0000e-04 Epoch 15/30 506/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0302 Epoch 15: val_loss did not improve from 0.00145 Epoch 15: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 2ms/step - loss: 0.0014 - mae: 0.0302 - val_loss: 0.0017 - val_mae: 0.0341 - learning_rate: 5.0000e-04 Epoch 16/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0298 Epoch 16: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - loss: 0.0014 - mae: 0.0298 - val_loss: 0.0018 - val_mae: 0.0350 - learning_rate: 2.5000e-04 Epoch 17/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 2ms/step - loss: 0.0014 - mae: 0.0299 Epoch 17: val_loss did not improve from 0.00145 516/516 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - loss: 0.0014 - mae: 0.0299 - val_loss: 0.0019 - val_mae: 0.0356 - learning_rate: 2.5000e-04 Epoch 17: early stopping Restoring model weights from the end of the best epoch: 7.
169/169 ━━━━━━━━━━━━━━━━━━━━ 0s 1ms/step Metric Value 0 MSE 0.000959 1 MAE 0.024310 2 RMSE 0.030961 3 R2 0.617651 4 MAPE 4.367289 5 SMAPE 4.347070 6 SAE 130.909086
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step
Registered model 'Direct_Refiner_Model_simple_cnn_simple' already exists. Creating a new version of this model... Created version '3' of model 'Direct_Refiner_Model_simple_cnn_simple'.
Hybrid: Direct Simple + Refine LSTM Average
In [34]:
import importlib
from autoregression.models import RefineLSTM
importlib.reload(RefineLSTM)
from autoregression.models.RefineLSTM import build_average_refinement_lstm
dir_model = mlflow.keras.load_model("models:/Direct_LSTM_Model_simple/4")
run_direct_refiner_experiment(build_average_refinement_lstm,
dir_model,
'simple_lstm_avg',
'ref_simple_lstm_avg',
X_train_dir=X_train_dir,
X_test_dir=X_test_dir,
X_val_dir=X_val_dir,
y_test_dir=y_test_dir,
y_train_dir=y_train_dir,
y_val_dir=y_val_dir,
output_steps=20,
units=64)
516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step 172/172 ━━━━━━━━━━━━━━━━━━━━ 3s 20ms/step 169/169 ━━━━━━━━━━━━━━━━━━━━ 3s 16ms/step (20, 1)
Model: "Refiner_LSTM_Average"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ refinement_input (InputLayer) │ (None, 20, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_38 (LSTM) │ (None, 20, 64) │ 16,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_39 (Dropout) │ (None, 20, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_39 (LSTM) │ (None, 20, 32) │ 12,416 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_40 (Dropout) │ (None, 20, 32) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_40 (LSTM) │ (None, 16) │ 3,136 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_41 (Dropout) │ (None, 16) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_17 (Dense) │ (None, 1) │ 17 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 32,465 (126.82 KB)
Trainable params: 32,465 (126.82 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0218 - mae: 0.0987 - mse: 0.0218 Epoch 1: val_loss improved from inf to 0.00238, saving model to models/saved/Direct_Refiner_Model_simple_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 17ms/step - loss: 0.0218 - mae: 0.0986 - mse: 0.0218 - val_loss: 0.0024 - val_mae: 0.0406 - val_mse: 0.0024 - learning_rate: 0.0010 Epoch 2/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0046 - mae: 0.0542 - mse: 0.0046 Epoch 2: val_loss improved from 0.00238 to 0.00206, saving model to models/saved/Direct_Refiner_Model_simple_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0046 - mae: 0.0542 - mse: 0.0046 - val_loss: 0.0021 - val_mae: 0.0375 - val_mse: 0.0021 - learning_rate: 0.0010 Epoch 3/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0034 - mae: 0.0459 - mse: 0.0034 Epoch 3: val_loss improved from 0.00206 to 0.00175, saving model to models/saved/Direct_Refiner_Model_simple_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0034 - mae: 0.0459 - mse: 0.0034 - val_loss: 0.0018 - val_mae: 0.0343 - val_mse: 0.0018 - learning_rate: 0.0010 Epoch 4/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0025 - mae: 0.0396 - mse: 0.0025 Epoch 4: val_loss improved from 0.00175 to 0.00155, saving model to models/saved/Direct_Refiner_Model_simple_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0025 - mae: 0.0396 - mse: 0.0025 - val_loss: 0.0016 - val_mae: 0.0322 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 5/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0019 - mae: 0.0348 - mse: 0.0019 Epoch 5: val_loss did not improve from 0.00155 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0019 - mae: 0.0348 - mse: 0.0019 - val_loss: 0.0019 - val_mae: 0.0355 - val_mse: 0.0019 - learning_rate: 0.0010 Epoch 6/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0017 - mae: 0.0325 - mse: 0.0017 Epoch 6: val_loss did not improve from 0.00155 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0017 - mae: 0.0325 - mse: 0.0017 - val_loss: 0.0022 - val_mae: 0.0388 - val_mse: 0.0022 - learning_rate: 0.0010 Epoch 7/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0016 - mae: 0.0315 - mse: 0.0016 Epoch 7: val_loss did not improve from 0.00155 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0016 - mae: 0.0315 - mse: 0.0016 - val_loss: 0.0020 - val_mae: 0.0369 - val_mse: 0.0020 - learning_rate: 0.0010 Epoch 8/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0015 - mae: 0.0311 - mse: 0.0015 Epoch 8: val_loss did not improve from 0.00155 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0015 - mae: 0.0311 - mse: 0.0015 - val_loss: 0.0018 - val_mae: 0.0351 - val_mse: 0.0018 - learning_rate: 0.0010 Epoch 9/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0015 - mae: 0.0311 - mse: 0.0015 Epoch 9: val_loss did not improve from 0.00155 Epoch 9: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0015 - mae: 0.0311 - mse: 0.0015 - val_loss: 0.0016 - val_mae: 0.0329 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 10/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0301 - mse: 0.0014 Epoch 10: val_loss did not improve from 0.00155 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0301 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0325 - val_mse: 0.0016 - learning_rate: 5.0000e-04 Epoch 11/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 Epoch 11: val_loss did not improve from 0.00155 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0332 - val_mse: 0.0016 - learning_rate: 5.0000e-04 Epoch 12/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 12: val_loss improved from 0.00155 to 0.00141, saving model to models/saved/Direct_Refiner_Model_simple_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0306 - val_mse: 0.0014 - learning_rate: 5.0000e-04 Epoch 13/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 13: val_loss did not improve from 0.00141 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0018 - val_mae: 0.0352 - val_mse: 0.0018 - learning_rate: 5.0000e-04 Epoch 14/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 14: val_loss improved from 0.00141 to 0.00135, saving model to models/saved/Direct_Refiner_Model_simple_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0013 - val_mae: 0.0297 - val_mse: 0.0013 - learning_rate: 5.0000e-04 Epoch 15/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 15: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0340 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 16/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 16: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 10s 19ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0339 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 17/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 17: val_loss did not improve from 0.00135 Epoch 17: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0333 - val_mse: 0.0016 - learning_rate: 5.0000e-04 Epoch 18/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0014 - mae: 0.0301 - mse: 0.0014 Epoch 18: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 18ms/step - loss: 0.0014 - mae: 0.0301 - mse: 0.0014 - val_loss: 0.0019 - val_mae: 0.0364 - val_mse: 0.0019 - learning_rate: 2.5000e-04 Epoch 19/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0299 - mse: 0.0014 Epoch 19: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0299 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0322 - val_mse: 0.0016 - learning_rate: 2.5000e-04 Epoch 20/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 20: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0332 - val_mse: 0.0016 - learning_rate: 2.5000e-04 Epoch 21/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 21: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0019 - val_mae: 0.0359 - val_mse: 0.0019 - learning_rate: 2.5000e-04 Epoch 22/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 Epoch 22: val_loss did not improve from 0.00135 Epoch 22: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0335 - val_mse: 0.0017 - learning_rate: 2.5000e-04 Epoch 23/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 23: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0334 - val_mse: 0.0017 - learning_rate: 1.2500e-04 Epoch 24/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 24: val_loss did not improve from 0.00135 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0342 - val_mse: 0.0017 - learning_rate: 1.2500e-04 Epoch 24: early stopping Restoring model weights from the end of the best epoch: 14.
169/169 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step Metric Value 0 MSE 0.000988 1 MAE 0.024874 2 RMSE 0.031425 3 R2 0.606120 4 MAPE 4.522718 5 SMAPE 4.450688 6 SAE 133.946168
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 37ms/step
Registered model 'Direct_Refiner_Model_simple_lstm_avg' already exists. Creating a new version of this model... Created version '4' of model 'Direct_Refiner_Model_simple_lstm_avg'.
Hybrid: Direct Average + Refine LSTM Simple
In [35]:
dir_model_av = mlflow.keras.load_model("models:/Direct_LSTM_Model_average/3")
dir_model_av.summary()
run_direct_refiner_experiment(build_refinement_lstm_model_simple,
dir_model_av,
'avg_lstm_simple',
'ref_avg_lstm_simple',
X_train_dir=X_train_dir,
X_test_dir=X_test_dir,
X_val_dir=X_val_dir,
y_test_dir=y_test_dir,
y_train_dir=y_train_dir,
y_val_dir=y_val_dir,
output_steps=20,
units=64)
Model: "Avarege_Direct_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 100, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_2 (Bidirectional) │ (None, 100, 256) │ 133,120 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_3 (Dropout) │ (None, 100, 256) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ bidirectional_3 (Bidirectional) │ (None, 128) │ 164,352 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_4 (Dropout) │ (None, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_2 (Dense) │ (None, 64) │ 8,256 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_5 (Dropout) │ (None, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_3 (Dense) │ (None, 20) │ 1,300 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 921,086 (3.51 MB)
Trainable params: 307,028 (1.17 MB)
Non-trainable params: 0 (0.00 B)
Optimizer params: 614,058 (2.34 MB)
516/516 ━━━━━━━━━━━━━━━━━━━━ 19s 35ms/step 172/172 ━━━━━━━━━━━━━━━━━━━━ 6s 33ms/step 169/169 ━━━━━━━━━━━━━━━━━━━━ 6s 37ms/step (20, 1)
Model: "Refinement_LSTM_Model"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ refinement_input (InputLayer) │ (None, 20, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ refinement_lstm (LSTM) │ (None, 64) │ 16,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ refined_20th_output (Dense) │ (None, 1) │ 65 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 16,961 (66.25 KB)
Trainable params: 16,961 (66.25 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0118 - mae: 0.0606 - mse: 0.0118 Epoch 1: val_loss improved from inf to 0.00187, saving model to models/saved/Direct_Refiner_Model_avg_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 5s 7ms/step - loss: 0.0118 - mae: 0.0605 - mse: 0.0118 - val_loss: 0.0019 - val_mae: 0.0356 - val_mse: 0.0019 - learning_rate: 0.0010 Epoch 2/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 2: val_loss improved from 0.00187 to 0.00170, saving model to models/saved/Direct_Refiner_Model_avg_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 8ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0338 - val_mse: 0.0017 - learning_rate: 0.0010 Epoch 3/30 509/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 3: val_loss improved from 0.00170 to 0.00163, saving model to models/saved/Direct_Refiner_Model_avg_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0330 - val_mse: 0.0016 - learning_rate: 0.0010 Epoch 4/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0015 - mae: 0.0304 - mse: 0.0015 Epoch 4: val_loss improved from 0.00163 to 0.00146, saving model to models/saved/Direct_Refiner_Model_avg_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 9ms/step - loss: 0.0015 - mae: 0.0304 - mse: 0.0015 - val_loss: 0.0015 - val_mae: 0.0312 - val_mse: 0.0015 - learning_rate: 0.0010 Epoch 5/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 5: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 8ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0021 - val_mae: 0.0384 - val_mse: 0.0021 - learning_rate: 0.0010 Epoch 6/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 6: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0018 - val_mae: 0.0344 - val_mse: 0.0018 - learning_rate: 0.0010 Epoch 7/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 7: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0019 - val_mae: 0.0357 - val_mse: 0.0019 - learning_rate: 0.0010 Epoch 8/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 Epoch 8: val_loss improved from 0.00146 to 0.00138, saving model to models/saved/Direct_Refiner_Model_avg_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0301 - val_mse: 0.0014 - learning_rate: 0.0010 Epoch 9/30 512/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 Epoch 9: val_loss did not improve from 0.00138 Epoch 9: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0310 - val_mse: 0.0015 - learning_rate: 0.0010 Epoch 10/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 Epoch 10: val_loss did not improve from 0.00138 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0328 - val_mse: 0.0016 - learning_rate: 5.0000e-04 Epoch 11/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0014 - mae: 0.0294 - mse: 0.0014 Epoch 11: val_loss did not improve from 0.00138 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 8ms/step - loss: 0.0014 - mae: 0.0294 - mse: 0.0014 - val_loss: 0.0019 - val_mae: 0.0359 - val_mse: 0.0019 - learning_rate: 5.0000e-04 Epoch 12/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0294 - mse: 0.0014 Epoch 12: val_loss did not improve from 0.00138 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 5ms/step - loss: 0.0014 - mae: 0.0294 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0317 - val_mse: 0.0015 - learning_rate: 5.0000e-04 Epoch 13/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 Epoch 13: val_loss did not improve from 0.00138 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0302 - val_mse: 0.0014 - learning_rate: 5.0000e-04 Epoch 14/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 14: val_loss did not improve from 0.00138 Epoch 14: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0296 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0336 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 15/30 512/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 Epoch 15: val_loss improved from 0.00138 to 0.00134, saving model to models/saved/Direct_Refiner_Model_avg_lstm_simple.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 5ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 - val_loss: 0.0013 - val_mae: 0.0297 - val_mse: 0.0013 - learning_rate: 2.5000e-04 Epoch 16/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0013 - mae: 0.0291 - mse: 0.0013 Epoch 16: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0013 - mae: 0.0291 - mse: 0.0013 - val_loss: 0.0016 - val_mae: 0.0323 - val_mse: 0.0016 - learning_rate: 2.5000e-04 Epoch 17/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0013 - mae: 0.0292 - mse: 0.0013 Epoch 17: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 8ms/step - loss: 0.0013 - mae: 0.0292 - mse: 0.0013 - val_loss: 0.0014 - val_mae: 0.0307 - val_mse: 0.0014 - learning_rate: 2.5000e-04 Epoch 18/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0013 - mae: 0.0293 - mse: 0.0013 Epoch 18: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 7ms/step - loss: 0.0013 - mae: 0.0293 - mse: 0.0013 - val_loss: 0.0019 - val_mae: 0.0355 - val_mse: 0.0019 - learning_rate: 2.5000e-04 Epoch 19/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0292 - mse: 0.0014 Epoch 19: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0292 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0318 - val_mse: 0.0015 - learning_rate: 2.5000e-04 Epoch 20/30 509/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 20: val_loss did not improve from 0.00134 Epoch 20: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0019 - val_mae: 0.0358 - val_mse: 0.0019 - learning_rate: 2.5000e-04 Epoch 21/30 508/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0013 - mae: 0.0292 - mse: 0.0013 Epoch 21: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0013 - mae: 0.0292 - mse: 0.0013 - val_loss: 0.0016 - val_mae: 0.0330 - val_mse: 0.0016 - learning_rate: 1.2500e-04 Epoch 22/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0013 - mae: 0.0288 - mse: 0.0013 Epoch 22: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0013 - mae: 0.0288 - mse: 0.0013 - val_loss: 0.0015 - val_mae: 0.0318 - val_mse: 0.0015 - learning_rate: 1.2500e-04 Epoch 23/30 511/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 Epoch 23: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0318 - val_mse: 0.0015 - learning_rate: 1.2500e-04 Epoch 24/30 510/516 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0013 - mae: 0.0291 - mse: 0.0013 Epoch 24: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 4s 7ms/step - loss: 0.0013 - mae: 0.0291 - mse: 0.0013 - val_loss: 0.0016 - val_mae: 0.0331 - val_mse: 0.0016 - learning_rate: 1.2500e-04 Epoch 25/30 508/516 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 Epoch 25: val_loss did not improve from 0.00134 Epoch 25: ReduceLROnPlateau reducing learning rate to 6.25000029685907e-05. 516/516 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - loss: 0.0014 - mae: 0.0293 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0326 - val_mse: 0.0016 - learning_rate: 1.2500e-04 Epoch 25: early stopping Restoring model weights from the end of the best epoch: 15.
169/169 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step Metric Value 0 MSE 0.000934 1 MAE 0.024074 2 RMSE 0.030557 3 R2 0.627565 4 MAPE 4.364720 5 SMAPE 4.310954 6 SAE 129.641100
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 65ms/step
Registered model 'Direct_Refiner_Model_avg_lstm_simple' already exists. Creating a new version of this model... Created version '2' of model 'Direct_Refiner_Model_avg_lstm_simple'.
Hybrid: Direct Average + Refine LSTM Average
In [37]:
dir_model = mlflow.keras.load_model("models:/Direct_LSTM_Model_average/3")
run_direct_refiner_experiment(build_average_refinement_lstm,
dir_model,
'avg_lstm_avg',
'ref_avg_lstm_avg',
X_train_dir=X_train_dir,
X_test_dir=X_test_dir,
X_val_dir=X_val_dir,
y_test_dir=y_test_dir,
y_train_dir=y_train_dir,
y_val_dir=y_val_dir,
output_steps=20,
units=64)
516/516 ━━━━━━━━━━━━━━━━━━━━ 19s 35ms/step 172/172 ━━━━━━━━━━━━━━━━━━━━ 6s 32ms/step 169/169 ━━━━━━━━━━━━━━━━━━━━ 6s 34ms/step (20, 1)
Model: "Refiner_LSTM_Average"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ refinement_input (InputLayer) │ (None, 20, 1) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_44 (LSTM) │ (None, 20, 64) │ 16,896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_45 (Dropout) │ (None, 20, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_45 (LSTM) │ (None, 20, 32) │ 12,416 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_46 (Dropout) │ (None, 20, 32) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ lstm_46 (LSTM) │ (None, 16) │ 3,136 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout_47 (Dropout) │ (None, 16) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_19 (Dense) │ (None, 1) │ 17 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 32,465 (126.82 KB)
Trainable params: 32,465 (126.82 KB)
Non-trainable params: 0 (0.00 B)
Epoch 1/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0206 - mae: 0.0968 - mse: 0.0206 Epoch 1: val_loss improved from inf to 0.00447, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 13s 18ms/step - loss: 0.0206 - mae: 0.0967 - mse: 0.0206 - val_loss: 0.0045 - val_mae: 0.0580 - val_mse: 0.0045 - learning_rate: 0.0010 Epoch 2/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0046 - mae: 0.0536 - mse: 0.0046 Epoch 2: val_loss improved from 0.00447 to 0.00173, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0046 - mae: 0.0536 - mse: 0.0046 - val_loss: 0.0017 - val_mae: 0.0342 - val_mse: 0.0017 - learning_rate: 0.0010 Epoch 3/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0034 - mae: 0.0465 - mse: 0.0034 Epoch 3: val_loss did not improve from 0.00173 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0034 - mae: 0.0464 - mse: 0.0034 - val_loss: 0.0019 - val_mae: 0.0355 - val_mse: 0.0019 - learning_rate: 0.0010 Epoch 4/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0024 - mae: 0.0387 - mse: 0.0024 Epoch 4: val_loss did not improve from 0.00173 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 18ms/step - loss: 0.0024 - mae: 0.0387 - mse: 0.0024 - val_loss: 0.0023 - val_mae: 0.0400 - val_mse: 0.0023 - learning_rate: 0.0010 Epoch 5/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0019 - mae: 0.0348 - mse: 0.0019 Epoch 5: val_loss improved from 0.00173 to 0.00170, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 18ms/step - loss: 0.0019 - mae: 0.0348 - mse: 0.0019 - val_loss: 0.0017 - val_mae: 0.0338 - val_mse: 0.0017 - learning_rate: 0.0010 Epoch 6/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0017 - mae: 0.0328 - mse: 0.0017 Epoch 6: val_loss did not improve from 0.00170 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0017 - mae: 0.0328 - mse: 0.0017 - val_loss: 0.0019 - val_mae: 0.0357 - val_mse: 0.0019 - learning_rate: 0.0010 Epoch 7/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0015 - mae: 0.0312 - mse: 0.0015 Epoch 7: val_loss did not improve from 0.00170 Epoch 7: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257. 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0015 - mae: 0.0312 - mse: 0.0015 - val_loss: 0.0026 - val_mae: 0.0428 - val_mse: 0.0026 - learning_rate: 0.0010 Epoch 8/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0304 - mse: 0.0014 Epoch 8: val_loss improved from 0.00170 to 0.00167, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0014 - mae: 0.0304 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0334 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 9/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0015 - mae: 0.0305 - mse: 0.0015 Epoch 9: val_loss did not improve from 0.00167 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0015 - mae: 0.0305 - mse: 0.0015 - val_loss: 0.0021 - val_mae: 0.0377 - val_mse: 0.0021 - learning_rate: 5.0000e-04 Epoch 10/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0015 - mae: 0.0302 - mse: 0.0015 Epoch 10: val_loss did not improve from 0.00167 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0015 - mae: 0.0302 - mse: 0.0015 - val_loss: 0.0017 - val_mae: 0.0334 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 11/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0015 - mae: 0.0305 - mse: 0.0015 Epoch 11: val_loss improved from 0.00167 to 0.00146, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 18ms/step - loss: 0.0015 - mae: 0.0305 - mse: 0.0015 - val_loss: 0.0015 - val_mae: 0.0312 - val_mse: 0.0015 - learning_rate: 5.0000e-04 Epoch 12/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 Epoch 12: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0320 - val_mse: 0.0015 - learning_rate: 5.0000e-04 Epoch 13/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 13: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0337 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 14/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 14: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0334 - val_mse: 0.0017 - learning_rate: 5.0000e-04 Epoch 15/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 Epoch 15: val_loss did not improve from 0.00146 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0303 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0325 - val_mse: 0.0016 - learning_rate: 5.0000e-04 Epoch 16/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0301 - mse: 0.0014 Epoch 16: val_loss improved from 0.00146 to 0.00134, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0301 - mse: 0.0014 - val_loss: 0.0013 - val_mae: 0.0297 - val_mse: 0.0013 - learning_rate: 5.0000e-04 Epoch 17/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 Epoch 17: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 15ms/step - loss: 0.0014 - mae: 0.0302 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0317 - val_mse: 0.0015 - learning_rate: 5.0000e-04 Epoch 18/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0015 - mae: 0.0303 - mse: 0.0015 Epoch 18: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0015 - mae: 0.0303 - mse: 0.0015 - val_loss: 0.0014 - val_mae: 0.0300 - val_mse: 0.0014 - learning_rate: 5.0000e-04 Epoch 19/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0015 - mae: 0.0304 - mse: 0.0015 Epoch 19: val_loss did not improve from 0.00134 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0015 - mae: 0.0304 - mse: 0.0015 - val_loss: 0.0016 - val_mae: 0.0325 - val_mse: 0.0016 - learning_rate: 5.0000e-04 Epoch 20/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 20: val_loss improved from 0.00134 to 0.00131, saving model to models/saved/Direct_Refiner_Model_avg_lstm_avg.keras 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0013 - val_mae: 0.0290 - val_mse: 0.0013 - learning_rate: 5.0000e-04 Epoch 21/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 21: val_loss did not improve from 0.00131 Epoch 21: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628. 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0020 - val_mae: 0.0364 - val_mse: 0.0020 - learning_rate: 5.0000e-04 Epoch 22/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 22: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0329 - val_mse: 0.0016 - learning_rate: 2.5000e-04 Epoch 23/30 513/516 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 Epoch 23: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 10s 19ms/step - loss: 0.0014 - mae: 0.0297 - mse: 0.0014 - val_loss: 0.0014 - val_mae: 0.0302 - val_mse: 0.0014 - learning_rate: 2.5000e-04 Epoch 24/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 Epoch 24: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 18ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0338 - val_mse: 0.0017 - learning_rate: 2.5000e-04 Epoch 25/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0014 - mae: 0.0299 - mse: 0.0014 Epoch 25: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 9s 17ms/step - loss: 0.0014 - mae: 0.0299 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0330 - val_mse: 0.0016 - learning_rate: 2.5000e-04 Epoch 26/30 516/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 26: val_loss did not improve from 0.00131 Epoch 26: ReduceLROnPlateau reducing learning rate to 0.0001250000059371814. 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0323 - val_mse: 0.0016 - learning_rate: 2.5000e-04 Epoch 27/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 Epoch 27: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0295 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0327 - val_mse: 0.0016 - learning_rate: 1.2500e-04 Epoch 28/30 515/516 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 Epoch 28: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0300 - mse: 0.0014 - val_loss: 0.0015 - val_mae: 0.0313 - val_mse: 0.0015 - learning_rate: 1.2500e-04 Epoch 29/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 Epoch 29: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0298 - mse: 0.0014 - val_loss: 0.0017 - val_mae: 0.0336 - val_mse: 0.0017 - learning_rate: 1.2500e-04 Epoch 30/30 514/516 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step - loss: 0.0014 - mae: 0.0299 - mse: 0.0014 Epoch 30: val_loss did not improve from 0.00131 516/516 ━━━━━━━━━━━━━━━━━━━━ 8s 16ms/step - loss: 0.0014 - mae: 0.0299 - mse: 0.0014 - val_loss: 0.0016 - val_mae: 0.0324 - val_mse: 0.0016 - learning_rate: 1.2500e-04 Epoch 30: early stopping Restoring model weights from the end of the best epoch: 20.
169/169 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step Metric Value 0 MSE 0.001011 1 MAE 0.025225 2 RMSE 0.031797 3 R2 0.596727 4 MAPE 4.599685 5 SMAPE 4.510796 6 SAE 135.835938
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 39ms/step
Registered model 'Direct_Refiner_Model_avg_lstm_avg' already exists. Creating a new version of this model... Created version '3' of model 'Direct_Refiner_Model_avg_lstm_avg'.